Pregunta

Tengo un problema mod_rewrite. O con mayor precisión, tengo un problema con ISAPI_REWRITE, que es un clon MOD_REWRITE para IIS. Específicamente, ISAPI_REWrite V3 que se ejecuta en IIS 7. Su objetivo es comportarse de manera idéntica a MOD_REWRITE, por lo que espero que mi problema se aplique a MOD_REWRITE también.

Mi problema se reduce a esto: tengo un guión bar.php al que quiero acceder a través de la URL foo. Primero reescribo foo a bar. Luego intente convertir la URL limpia en un nombre de archivo real.

RewriteRule ^foo$ bar

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .* $0.php

los RewriteCond está fallando porque ${REQUEST_FILENAME} Todavía dice "foo" en lugar de "bar". No se actualiza después de la primera reescritura.

¿Cómo puedo hacer que esto funcione? Podría arreglar esto simplemente escribiendo RewriteRule ^foo$ bar.php. Pero preferiría mantener las reglas de reasignación de URL separadas de las reglas de extensión del archivo.

¿Fue útil?

Solución

Respuesta tentativa ...

RewriteCond %{DOCUMENT_ROOT}/$0.php -f

Mediante el uso $0 Tengo acceso a la última URL reescrita, lo que me hace feliz. Pero tengo que agregar %{DOCUMENT_ROOT} Para convertir eso en un nombre de archivo, lo que me entristece. Un poco de kludge.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top