0

これはかなり基本的なことですが、うまくいく解決策が見つかりません。URL を古いディレクトリから新しい URL にリダイレクトするだけです。

例:

/search/whatever

/jobs/search

何でもマップする必要はありません。/search で始まる URL へのすべてのトラフィックをリダイレクト (301) する必要があります。

これを使用して:

RewriteRule /search /jobs [R=301,L]

動作しますが、リダイレクトされる /jobs 内に URL があります。

/jobs/search

それは間違っています。URL の先頭と一致する必要があります。だから私はこれを試しました:

RewriteRule ^/search /jobs [R=301,L]

しかし、それはまったくリダイレ​​クトしないので、行き詰まっています。

別の例は次のとおりです。

RewriteRule /careers-at-pure /emea/contact-us/careers-at-pure [R=301,L]

これにより、careers-at-pure が古い URL と新しい URL にあるためループが作成されますが、次の URL は一致せず、リダイレクトされません。

RewriteRule ^/careers-at-pure /emea/contact-us/careers-at-pure [R=301,L]

助言がありますか?

ありがとう

4

1 に答える 1

0

先頭のスラッシュは、htaccess ファイルの書き換え規則を通過するときに URI から削除されます。正規表現から先頭のスラッシュを削除するか、少なくともオプションにする必要があります。

RewriteRule ^/?search /jobs [R=301,L]
于 2012-10-15T18:57:41.427 に答える