Question

J'ai un problème de mod_rewrite. Ou plus exactement, j'ai un problème avec ISAPI_Rewrite, qui est un clone mod_rewrite pour IIS. Plus précisément, ISAPI_Rewrite v3 fonctionnant sur IIS 7. Il vise à se comporter de manière identique à mod_rewrite, donc j'espère que mon problème concerne mod_rewrite ainsi.

Mon problème se résume à ceci: J'ai un bar.php de script que je veux accéder via le foo URL. J'ai d'abord réécris foo à bar. Ensuite, essayez de convertir l'URL propre à un nom de fichier.

RewriteRule ^foo$ bar

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

Le RewriteCond échoue parce que ${REQUEST_FILENAME} dit encore « foo » plutôt que « bar ». Il est pas mis à jour après la première réécriture.

Comment puis-je faire ce travail? Je pouvais résoudre ce problème en écrivant RewriteRule ^foo$ bar.php. Mais je préfère garder fortement l'URL des règles remappant séparées des règles d'extension de fichier.

Était-ce utile?

La solution

Tentative de réponse ...

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

En utilisant $0 j'avoir accès à la dernière URL réécrite, ce qui me rend heureux. Mais je dois ajouter %{DOCUMENT_ROOT} à transformer en un nom de fichier, ce qui me rend triste. Bit d'une bidouille.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top