2011-08-17 136 views
1

我有我认为是一个奇怪的问题。使用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)重定向将位于新网站的h​​taccess中,因此需要将每个旧网址标识为重定向到新网址。

它甚至可以做到这一点?

回答

1

制作的index.php与

<?php 
header('Location: http://www.newsite.com/'); 
?> 

最快的方法)

+0

当然,这不适用于主机上默认文档以外的其他任何内容。 – 2011-08-17 11:36:03

+0

搜索引擎不会那样,301重定向更好。 – Dalmas 2011-08-17 11:36:19

1

看起来正确,只要URL的路径部分是在旧的网站,并在新的网站上的相同。我只会将QSA标志添加到重写规则中。正则表达式也有点大材小用,你可以使用:

RewriteCond %{HTTP_HOST} =www.OldSite1.co.uk [NC] 

只要确保在.htaccess文件被读取(即你没有AllowOverride None),或 - 更好 - 把重写规则在主服务器配置中,而不是在.htaccess文件中。

相关问题