Tenía algunas reglas mod_rewrite en el servidor de desarrollo local Apache 2.2 y funcionaban bien. Ahora, después de actualizar a Apache 2.4, estoy intentando aplicar una regla mod_rewrite simple y no funciona. Sin embargo, funciona con .htAccess. ¿Es este un problema de ruta? ¿O mod_rewrite es diferente en Apache 2.4? ¿Alguna sugerencia?
Información del servidor de desarrollo local: WAMP-Server 2.5: mod_rewrite de Windows 7 está cargado y se muestra en php_info()
Configuración de Apache: http://apaste.info/OF3
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "C:/wamp/www"
ServerName site1.example.com
ErrorLog "logs/site1-error.log"
CustomLog "logs/site1-access.log" common
<Directory "/site1">
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
LogLevel alert rewrite:trace3
RewriteRule ^/index.html$ /welcome.html
</Directory>
</VirtualHost>
Respuesta1
Supongo que la ruta que especificas <Directory "/site1">
es incorrecta. Tienes DocumentRoot "C:/wamp/www"
, lo que significa que la raíz de tu sitio web está en ese directorio. Para aplicar reglas de reescritura usando a <Directory>
, debe especificar la ruta completa:
<Directory "C:/wamp/www">
[...]
</Directory>
o tal vez:
<Directory "C:/wamp/www/site1">
[...]
</Directory>
Dependiendo de a qué ruta esté intentando hacer referencia utilizando /site1
.