1

次のように、いくつかの静的 html ファイル/URL をいくつかの新しい URL にリダイレクトしています。

Redirect 301 / http://newsite.com
Redirect 301 /pageA.html http://newsite.com/subfolder/page-a/
Redirect 301 /pageA-B.html http://newsite.com/subfolder/page-a/page-b/

ただし、結果の URL は次のようになります。

http://newsite.com/subfolder/pageA-B.html/

それ以外の

http://newsite.com/subfolder/page-a/page-b/

URL リダイレクトが古いパスを通過するのはなぜですか?

4

1 に答える 1

5

結局のところ、それは単なる優先順位です。最初のルールのようです:

Redirect 301 / http://newsite.com

すぐにキャッチオールに変わります。代わりに、順序を逆にする必要があります。

Redirect 301 /pageA-B.html http://newsite.com/subfolder/page-a/page-b/
Redirect 301 /pageA.html http://newsite.com/subfolder/page-a/
Redirect 301 / http://newsite.com

私が収集したものから、元の方法では、ルートから離れたパスは自動的にルートと一致し、古い URL を本質的に引数として渡していることがわかりました。しかし、順序を逆にすることで、一致しようとしていた URL のリストの一番上にあったため、より明示的な一致が優先されました。

このロジック/操作の順序を正しく説明しているかどうかはわかりませんが、午前 4 時にこの機能を要約できるのはこれが最善です =)

于 2013-10-09T08:24:52.773 に答える