Tengo una instalación fresca de Apache 2.2 en mi máquina Vista, todo funciona bien, excepto la reescritura de mods.
I've descomentados
LoadModule rewrite_module modules/mod_rewrite.s
pero ninguna de mis reglas de reescritura funciona, incluso las más simples como
RewriteRule not_found %{DOCUMENT_ROOT}/index.php?page=404
Todas las reglas que estoy usando funcionan en mi hosting, así que deberían estar bien, así que mi pregunta es, ¿hay alguna cosa oculta en la configuración de apache, que podría bloquear el mod rewrite?
Para mi situación, tenía
RewriteEngine On
en mi .htaccess
, junto con el módulo que se carga, y no estaba funcionando.
La solución a mi problema fue editar mi entrada vhost para incluir
AllowOverride all
en la sección <Directorio>
del sitio en cuestión.
Acabo de notar que has dicho mod_rewrite.s en lugar de mod_rewrite.so - ¡espero que sea un error tipográfico en tu pregunta y no en el archivo httpd.conf! :)
Estoy más acostumbrado a usar Apache en Linux, pero tuve que hacer esto el otro día.
En primer lugar, echa un vistazo a tu directorio de instalación de Apache. (I'll asumir que lo instaló a "C:\ ~ Archivos de programa" aquí)
Echa un vistazo a la carpeta: "C:\NProgram Files\NApache Software Foundation\NApache2.2\modules" y asegúrate de que hay'un archivo llamado mod_rewrite.so allí. (Debería estar, se proporciona como parte de la instalación por defecto.
A continuación, abra "C:\NArchivos de programa\Nde la Fundación de Software de Apache\Nconf" y abra httpd.conf. Asegúrese de que la línea:
#LoadModule rewrite_module modules/mod_rewrite.so
está sin comentar:
LoadModule rewrite_module modules/mod_rewrite.so
Además, si quieres habilitar el RewriteEngine por defecto, podrías añadir algo como
<IfModule mod_rewrite>
RewriteEngine On
</IfModule>
al final de su archivo httpd.conf.
Si no es así, asegúrese de especificar
RewriteEngine On
en algún lugar de su archivo .htaccess.