Tengo un archivo .htaccess simple que funciona muy bien en la versión http del sitio, pero no cuando voy a https. ¿Por qué?
RewriteEngine on
#This is so if the file exists then use the file
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ %{REQUEST_FILENAME} [L]
#These conditions check if a file or folder exists just for reference
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#if someone adds ".php" to the slug get rid of it
RewriteRule ^(.*)\.php$ $1
#don't add the [R] here because we don't want it to redirect
RewriteRule ^(.*)$ index.php?id=$1 [L,QSA]
fuente

/etc/apache2/sites-enabled/default-ssl.conf(2) Para ser súper claro, si aún tiene problemas, intente enAllowOverride Alllugar de hacerloAllowOverride FileInfo. Una vez que lo haga funcionar, puede leer losAllowOveridedocumentos de Apache en detalle para limitar el acceso más específicamente y maximizar la seguridad. (3) Recuerde que debe reiniciar Apache para que la configuración surta efecto.¿Podría ser posible que mod_rewrite no esté habilitado para el servidor HTTPS o que .htaccess no se esté utilizando?
Verifique los
AllowOveridepermisos en uso para el sitio normal y compárelos con la versión SSL, probablemente una discrepancia. Probablemente introducido para mejorar la seguridad, si no un accidente.mod_rewriteSin embargo, es casi esencial, por lo que cualquier proveedor de alojamiento decente debería ayudar a resolver esto.fuente
"trabajando en apache2 + ubuntu precisa"
Me ocurrió un problema similar mientras usaba Slim Framework y trataba de eliminar el index.php requerido en la url. ReWrite funcionó perfectamente para http pero para https: mostraba url no encontrada, lo que significaba que reWrite no funcionaba.
Después de un hit-n-trial, se me ocurrió esta solución:
Cambie AllowOverride None a All . Del mismo modo sudo vim ssl
fuente
Tuve un problema similar, esto es lo que funcionó para mí.
En su httpd.conf, asegúrese de tener ambos:
ServerName domain.com
ServerAlias www.dominio.com
fuente