1

これらの URL リダイレクト/転送が必要です:

here.com/foo    ==> there.com/a/b
here.com/foobar ==> there.com/c/d

次の 2 つの .htaccess RewriteRule 行があります。

RewriteRule ^foo$    http://there.com/a/b [R=301,L] 
RewriteRule ^foobar$ http://there.com/c/d [R=301,L]

しかし、結果は次のとおりです。

here.com/foo    ==> there.com/a/b
here.com/foobar ==> there.com/a/b

fooも一致foobar しています。どうすれば機能しますか?

4

1 に答える 1

1

これはブラウザのキャッシュの問題でした。最初はルールを間違えていました。ルールを上記のリストに変更しましたが、HTTP ステータス コード 301 (Moved Permanently) を使用しているため、ブラウザーはそれをキャッシュしており、サーバーから新しい要求を取得していませんでした。Chrome シークレット ウィンドウを試してみたところ、問題が見つかりました。

HTTP ステータス コードを 303 (See Other) に設定すると、ブラウザはそれをキャッシュしないことに注意してください。

于 2012-07-06T07:35:35.290 に答える