我在PHP中有一个永久重定向的奇怪问题。
这是我正在使用的代码:
if ($_SERVER['HTTP_HOST'] != 'www.mydomain.ca')
{
header("HTTP/1.1 301 Moved Permanently");
$loc = "http://www.mydomain.ca".$_SERVER['SCRIPT_NAME'];
header("Location: ".$loc);
exit;
}
因此,由www.myolddomain.ca或www.myolddomain.ca/index.php引用的主页都可以工作,但网站上的每个其他页面都无法重定向。我花了几个小时从我所知道的所有角度看这个,无法理解它。有谁知道问题可能是什么?
作为一个说明,我在没有301标题的情况下尝试了这个并得到同样的问题。
答案 0 :(得分:2)
如果您有一个ftp帐户到服务器,您可以创建.htaccess文件并让它处理请求。只需在您网站的根文件夹中创建一个名为.htaccess
的文件,然后发布代码,将其更改为您想要的模式
Options +FollowSymLinks
RewriteEngine on
RewriteCond {HTTP_HOST} ^yourdomain.com
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L]
如果您想通过PHP
进行修复,我会创建一个redirect.php
并将其包含在您需要的每个网站上。很难说这是否是最好的解决方案,这取决于你的布局和结构方式。
答案 1 :(得分:0)
通过htaccess尝试,创建.htaccess文件并尝试类似这样的内容
RewriteEngine on RewriteRule(。*)http://www.newdomain.com/ $ 1 [R = 301,L]
**应启用Apache Mod-Rewrite moduled