質問

mod_rewriteの問題があります。より正確には、IISのmod_rewriteクローンであるISAPI_REWRITEに問題があります。具体的には、IIS 7で実行されているISAPI_REWRITE V3は、mod_rewriteと同じように振る舞うことを目指しているため、mod_rewriteにも問題が当てはまることを願っています。

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

RewriteRule ^foo$ bar

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

RewriteCond 失敗しているからです ${REQUEST_FILENAME} まだ「バー」ではなく「フー」と言っています。最初の書き直しの後に更新されません。

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

役に立ちましたか?

解決

暫定的な答え...

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

使用して $0 私は最新の書き換えられたURLにアクセスできるので、私は幸せになります。しかし、私は追加する必要があります %{DOCUMENT_ROOT} それをファイル名に変えるために、それは私を悲しくさせます。少しのクラッジ。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top