広すぎる現在Apacheのリダイレクト文を絞り込み -は、私は現在、これらの二つの文をリダイレクトしてい
RedirectMatch permanent "/(.*)\.html$" "https://www.example.com/archive/blog/$1"
RedirectMatch permanent "/(.*)" "https://www.example.com/archive/blog"
RedirectMatch permanent "/(.*)\.html$" "https://www.example.com/es/archivo/blog/$1"
RedirectMatch permanent "/(.*)" "https://www.example.com/es/archivo/blog"
誰かがスペイン語のページにあるときに、私は起こるがしたいどのような、彼らはにリダイレクトされますされますスペイン語www.example.comページ。これは、ここでのルールの2番目のセットに対応します。
現在、スペイン語URLと英語URLの両方が最初のリダイレクトルールで一致しているのは、両方とも.htmlの末尾があるため、常に最初のルールのみにリダイレクトされるということです。
URLの違いが収まるように、これら2つのリダイレクトステートメントを設定するにはどうすればよいですか?
例として - これらのルールでは、-http://www.oldsite.com/2016/11/article.html
に行くと、私は正しい最初のルールにリダイレクトされます。
URLをhttp://www.oldsite-es.com/2016/11/article.html
にすると、最初のルールにもリダイレクトされます。これはes(スペイン語)ページなので正しくありません。
EDIT - どのように私はこれらのURLのホストの両方で動作するようにリダイレクト規則を変更することができ
<If "%{HTTP_HOST} = '^oldsite-es\.com$'">
RedirectMatch permanent "/(.*)\.html$" "https://www.example.com/es/archivo/blog/$1"
RedirectMatch permanent "/(.*)" "https://www.example.com/es/archivo/blog"
</If>
- ?
これは私がイマイチかなりの作業を試してみましたつの新しいリダイレクト文ですか
これは古いURLから新しいURLにリダイレクトしようとしているものですか? –
ええと、www.oldsite.com/...../olddocument.htmlからwww.example.com/..../newdocument.html、www.oldsite-es.com/.../olddocument.html www.example-es.com/.../newdocument.htmlに移動します。基本的には、現在のステートメントはあまりにも貪欲で、2つの異なるhsot URL間を区別しません。 –