ModRewrite solo funciona para algunas opciones

Mi archivo htaccess es el siguiente:

RewriteEngine On
RewriteRule ^blog/post/([0-9]+) /blog.php?post=$1
RewriteRule ^blog/page/([0-9]+) /blog.php?page=$1
RewriteRule ^work/([0-9]+) /work.php?ID=$1

La regla work.php está funcionando, pero las dos reglas del blog no. Solían trabajar todo, pero recientemente mudé mi servidor. ¿Alguna idea de por qué sería esto?

Gracias de antemano!

Editar: Woah, noté que tenía una carpeta de trabajo, pero no una carpeta de blog, así que hice una, y ahora funciona. ¿Alguna idea de por qué?

preguntado el 09 de enero de 11 a las 03:01

1 Respuestas

Acabo de configurar un servidor (virtual) en mi instalación local de Apache 2.2, ejecutando PHP 5.2 como módulo. La raíz del documento del servidor contenía solo archivos php para procesar (de manera simplista) los ejemplos que proporcionó anteriormente (simplemente haciendo eco de los parámetros de $ _GET). Mi archivo .htaccess en la raíz del documento contenía solo lo que especificó anteriormente, y nada más. La raíz del documento no contenía los subdirectorios / work o / blog (o / blog / post o / blog / page).

Mi configuración no tuvo ningún problema para reescribir las URL compatibles con SEO en los archivos PHP adecuados, que a su vez se hicieron eco de los valores de los parámetros que esperaba de $ _GET.

Hay algo más que mod_rewrite que requiere la existencia de los subdirectorios, y Apache lo está utilizando (y por lo tanto lo requiere) antes de procesar las reglas de reescritura. No estoy seguro de qué es, pero no parece ser mod_rewrite, dadas las reglas que tiene arriba.

Respondido el 09 de enero de 11 a las 22:01

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.