我认为这是一个奇怪的问题。
我为客户设计了一个新网站,他希望在其他地方托管3个旧网站指向他的新网站。
他的托管公司所做的是将3个旧网站中的每个网站的A记录更改为指向新网站的IP地址。
他们建议我可以通过修改新网站上的htaccess文件来获得新网站的3个旧网址...
...但我不清楚这是如何工作的。我尝试过使用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中,因此需要将每个旧网址标识为重定向到新网址。
甚至可以这样做吗?
答案 0 :(得分:2)
如果你使用apache:
RedirectMatch 301 ^.*$ http://www.newdomain.co.uk/
我有点生疏,但我认为就是这样。 这是文档的链接,可能会有所帮助:
答案 1 :(得分:1)
使用
制作index.php<?php
header('Location: http://www.newsite.com/');
?>
最快的方法;)
答案 2 :(得分:1)
看起来正确,只要旧网站和新网站中网址的路径部分相同即可。我只会将QSA标志添加到重写规则中。正则表达式也有点矫枉过正,您可以使用:
RewriteCond %{HTTP_HOST} =www.OldSite1.co.uk [NC]
确保正在读取.htaccess文件(即你没有AllowOverride None
),或者 - 更好 - 将重写规则放在主服务器配置中,而不是放在.htaccess文件中