PHP永久重定向

时间:2014-08-22 15:41:48

标签: php redirect header

我在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标题的情况下尝试了这个并得到同样的问题。

2 个答案:

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