这是非常基本的,但我找不到有效的解决方案。我只需要将旧目录中的任何URL重定向到新URL。
示例:
/search/whatever
到
/jobs/search
我不需要映射任何内容,我希望所有流量都开始/搜索以重定向(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]
这会在旧网址和新网址中创建一个循环,但是以下内容无法匹配和重定向:
RewriteRule ^ / careers-at-pure / emea / contact-us / careers-at-pure [R = 301,L]
有什么建议吗?
由于
答案 0 :(得分:0)
当在htaccess文件中通过重写规则时,会从URI中删除前导斜杠。您需要从正则表达式中删除前导斜杠,或至少使其成为可选:
RewriteRule ^/?search /jobs [R=301,L]