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 中,但以下内容不会匹配和重定向:

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 回答