使用htaccess将旧网站重定向到新网站
问题描述:
我有我认为是一个奇怪的问题。使用htaccess将旧网站重定向到新网站
我为一位客户设计了一个新网站,他希望3个旧网站托管在其他地方指向他的新网站。
他的托管公司做的是更改3个旧站点中每个站点的A记录以指向新站点的IP地址。
他们暗示我可以通过修改在新网站上的htaccess文件有3岁的URL解析到新网站...
...但我还没有线索如何做到这一点的工作。我试过使用301重定向(下面的代码),但它似乎并没有工作。
任何人都可以帮忙吗?
代码我已经试过:
Options +FollowSymlinks -MultiViews
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.OldSite1\.co.uk$ [NC]
RewriteRule ^(.*)$ http://NewSiteURL.co.uk/$1 [R=301,L]
只是为了澄清:
1)htaccess的是在新的网站,托管公司根本改变旧的A记录站点指向新站点的IP地址。
2)我没有托管任何旧站点设置,所以没有index.php等修改。
3)重定向将位于新网站的htaccess中,因此需要将每个旧网址标识为重定向到新网址。
它甚至可以做到这一点?
答
制作的index.php与
<?php
header('Location: http://www.newsite.com/');
?>
最快的方法)
答
如果您使用Apache:
RedirectMatch 301 ^.*$ http://www.newdomain.co.uk/
我有点生疏,但我认为这是它。 这里是对文档的链接,还可以帮助:
答
看起来正确,只要URL的路径部分是在旧的网站,并在新的网站上的相同。我只会将QSA标志添加到重写规则中。正则表达式也有点大材小用,你可以使用:
RewriteCond %{HTTP_HOST} =www.OldSite1.co.uk [NC]
只要确保在.htaccess文件被读取(即你没有AllowOverride None
),或 - 更好 - 把重写规则在主服务器配置中,而不是在.htaccess文件中。
当然,这不适用于主机上默认文档以外的其他任何内容。 – 2011-08-17 11:36:03
搜索引擎不会那样,301重定向更好。 – Dalmas 2011-08-17 11:36:19