我已将60 301重定向从旧的URL重定向到新的URL。我在每个页面上所做的语法如下:
Redirect 301 "http://www.olddomain.com/product/foo" "https://newdomain.com/product/bar"
当我转到旧页面"http://www.olddomain.com/product/foo"
时,我被重定向到新页面,但没有重定向到我定义的URL:"https://newdomain.com/product/bar"
。我被重定向到"https://newdomain/product/foo"
。
因此重定向到域是正确的,但是URL上的子页面是旧页面,而不是新页面。
有人知道为什么会这样吗?
答案 0 :(得分:1)
您无法在Redirect
指令中匹配域名。
我建议使用mod_rewrite
规则,该规则应放置在所有其他规则之前:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?olddomain\.com$ [NC]
RewriteRule ^product/foo/?$ https://newdomain.com/product/bar [L,NC,R=301]
请确保这是最重要的规则,并在全新的浏览器中对其进行测试,以避免获取旧的缓存。