/mydir/
にある.htaccess
にはどのようなRewriteRuleを使用し、HTTP 302はすべての要求をhttp://www.example.com/mydir/output
にリダイレクトする必要がありますか? /mydir/
で.htaccess
の.htaccess内のRewriteRuleパターンの否定により、リダイレクトが多すぎる
現在のコンテンツ:
RewriteEngine On
RewriteBase "/mydir/"
RewriteRule !"^output$" "output" [R]
入力するURL:
http://www.example.com/mydir/input1
、
http://www.example.com/mydir/input2
、
予想される出力:
http://www.example.com/mydir/output
、
http://www.example.com/mydir/output
、
http://www.example.com/mydir/output
実出力:
ERR_TOO_MANY_REDIRECTS
、
ERR_TOO_MANY_REDIRECTS
ERR_TOO_MANY_REDIRECTS
ありがとうございますが、残念ながらうまくいきません。出力はまだ 'ERR_TOO_MANY_REDIRECTS'です。たぶんこれが原因ですが、わかりません: 'ルールが定義されているディレクトリパスは、比較の前に現在マップされているファイルシステムパスから削除されます(末尾のスラッシュまで)。このディレクトリごとのプレフィックスストリッピングの正味の結果は、この文脈のルールは、ルールが定義されている現在のマップされたファイルシステムパス "below"の部分に対してのみマッチすることです。 httpd.apache.org/docs/current/mod/mod_rewrite.html#what_is_matched) –
パターンが ''^output $ "'( '!'なし)の場合、次のURLは期待どおりに一致します: 'http:// www.example.com/mydir/output'と入力します。そして、期待通りにそれにマッチするものはありません。だから、同じパターンが否定されたとき、私はそれが**上記のURLにマッチしない**と思うが、**他のすべてのものとマッチするはずだ。しかし、書き換えループ(?)は、上記のURLも一致していることを示しているため、すべてが一致するようです。 –
あなたは正しいです。二重チェック。回答が更新されました。あなたはもう一度チェックできます:) – Dekel