0

mod_rewriteの問題があります。もっと正確に言うと、IISのmod_rewriteクローンであるISAPI_Rewriteに問題があります。具体的には、IIS7で実行されているISAPI_Rewritev3です。これはmod_rewriteと同じように動作することを目的としているため、私の問題がmod_rewriteにも当てはまることを願っています。

私の問題はこれに要約されます:私はbar.phpURLを介してアクセスしたいスクリプトを持っていますfoo。私は最初にに書き直しfooますbar。次に、クリーンURLを実際のファイル名に変換してみます。

RewriteRule ^foo$ bar

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

まだ「bar」ではなく「foo」と表示されているため、RewriteCondは失敗しています。${REQUEST_FILENAME}最初の書き換え後は更新されません。

どうすればこれを機能させることができますか?を書くだけでこれを修正できますRewriteRule ^foo$ bar.php。ただし、URL再マッピングルールをファイル拡張子ルールとは別にしておくことを強くお勧めします。

4

1 に答える 1

0

暫定的な答え...

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

を使用$0することで、最新の書き換えられたURLにアクセスできるので、嬉しいです。しかし、それをファイル名に変換するために追加%{DOCUMENT_ROOT}する必要があり、それは私を悲しくさせます。ちょっとした恨み。

于 2010-12-10T03:49:05.723 に答える