2010-12-10 13 views
0

Ich habe ein Problem mit mod_rewrite. Oder genauer gesagt, ich habe ein Problem mit ISAPI_Rewrite, das ein mod_rewrite Klon für IIS ist. Genauer gesagt, ISAPI_Rewrite v3 läuft auf IIS 7. Es zielt darauf ab, sich identisch mit mod_rewrite zu verhalten, also hoffe ich, dass mein Problem auch auf mod_rewrite zutrifft.URLs in IIS mit mod_rewrite bereinigen

Mein Problem läuft darauf hinaus: Ich habe ein Skript bar.php, auf die ich über die URL foo zugreifen möchte. Ich schreibe zuerst foo zu bar um. Versuchen Sie dann, die saubere URL in einen echten Dateinamen umzuwandeln.

RewriteRule ^foo$ bar 

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

Die RewriteCond versagt, weil ${REQUEST_FILENAME} sagt immer noch "foo" und nicht als "bar". Es wird nach dem ersten Neuschreiben nicht aktualisiert.

Wie kann ich das schaffen? Ich könnte das beheben, indem ich einfach RewriteRule ^foo$ bar.php schreibe. Ich würde es jedoch vorziehen, die URL-Neuzuordnungsregeln von den Regeln für die Dateierweiterung getrennt zu halten.

Antwort

0

Vorläufiger Antwort ...

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

von $0 ich mit Zugriff auf die neuesten rewritten URL bekommen, was mich glücklich macht. Aber ich muss %{DOCUMENT_ROOT} hinzufügen, um das in einen Dateinamen umzuwandeln, der mich traurig macht. Etwas von einem Klotz.

+0

Ah gut, das ist, was ich benutze barring keine besseren Antworten! –

Verwandte Themen