由于我们不再使用旧网站,我们已将www.old-domain.com
重定向至www.new-domain.com
。
因此,www.old-domain.com/whatever
重定向到www.new-domain.com/whatever
。但这会导致404错误,因为我们没有这些页面。
所以我尝试将所有内容从旧域重定向到新域的主页:
if (isset($_SERVER['HTTP_REFERER']) && stripos($_SERVER['HTTP_REFERER'], 'old-domain.com') !== false) {
@header("Location: http://new-domain.com/");
exit;
}
这样可以正常工作,但不能使用网址中的查询字符串
例如:www.old-domain/whatever/?utm=123
重定向到www.new-domain.com/?utm=123
请注意,查询字符串会保留在我不想要的新网址中。
请注意,我甚至使用了meta tag&基于Javascript的重定向但案例仍然相同。
无论如何要修复错误?非常感谢您的投入。 (我们正在使用nginx服务器)
由于 此致
答案 0 :(得分:1)
将它放在你的nginx配置文件中。
server {
server_name .old-domain.com;
rewrite ^ http://new-domain.com/ permanent;
}
答案 1 :(得分:1)
最好不要让PHP参与这项工作。这更适合.htaccess。
将此规则放在root .htaccess中:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?old-domain\.com$ [NC]
RewriteRule ^ http://new-domain.com/? [L,R=301]
跟踪?
将删除现有的查询字符串。