リストされているソースURLは、末尾にスラッシュが付いているため一意で、異なっています。
実際に注文は、別名で問題になることがあります。
我々は次のようしている場合:
Redirect 302 '/foo/' 'http://example.com/foo.php'
Redirect 302 '/foo' 'http://example.com/bar.php'
そして、我々はhttp://example.com/foo.php
に一時的なリダイレクトを得るでしょう/foo/
をご覧ください。 /foo
にアクセスすると、一時的にhttp://example.com/bar.php
にリダイレクトされます。
しかし、我々は順序変更した場合:
Redirect 302 '/foo' 'http://example.com/bar.php'
Redirect 302 '/foo/' 'http://example.com/foo.php'
そして/foo/
を訪問し、奇妙な最初のパターン/foo
が一致すると、あなたがhttp://example.com/bar.php
で終わるだろう!
私はより具体的な(より長いソースURLを書く)傾向があります。
mod aliasのリダイレクトを使用していくつかの非常に奇妙な結果が得られることがあります。ですから、RedirectMatchを使って特定のパターンマッチを書くか、代わりにmodリライトを使用してください。あなたは両方欲しいかのように
あなたのケースではそれが見えます:
/shop/contact-us
と
/shop/contact-us/
を同じURLにリダイレクトするには。だから、単純に一つのルールを省略することができ、ちょうど使用:
Redirect 301 /shop/contact-us http://www.example.com/contact-us/
をしかし、おそらく歴史的に、あなたは、同じまたは異なるリソースにアクセスするには、両方のパターンを使用しているので、両方をリストする方がよい(しかし、順序を変更する)ことがあります。
違いは明らかに末尾のスラッシュです。末尾のスラッシュだけが異なる場合でも、パスは異なると見なされます。しかし、この指示は両方の場合で同じ方法で適用されます。 –
@RuslanOsmanov .htaccess –
RedirectMatch 301 "^/shop /(contact-us)/?"のリダイレクトを使用して、これら2つのURLをhttp://www.example.com/contact-us/にリダイレクトするにはどうすればいいですか? http:// www.example.com/$ 1/'と入力します。 'リダイレクト'はそれほど適切ではありません。質問を更新してください。それ以外の場合は、 –