htaccess域重定向到newdomain

时间:2014-03-05 03:22:06

标签: php .htaccess redirect

我有www.oldsite.com域名,我设置了一个重定向转发到www.newsite.com/new

但是当我谷歌搜索旧网站的所有子链接时,请访问www.newsite.com/new/sublink

如何编辑htaccess文件,以便子链接永远不会通过

RewriteCond %{HTTP_HOST} ^oldsite\.com*$ [OR]
RewriteCond %{HTTP_HOST} ^www\.oldsite\.com*$
RewriteRule ^/?$ "http\:\/\/www\.newsite\.com\/new" [R=301,L]

简而言之,oldsite.com中涉及的所有链接都应重定向到newsite.com/new

我阅读了以下内容但它似乎没有多大帮助。 htaccess: domain hosted on subdirectory

1 个答案:

答案 0 :(得分:2)

以下.htaccess应仅放在旧域的根文件夹中:

RewriteCond %{HTTP_HOST} ^(www\.)?oldsite\.com$ [NC]
RewriteRule ^ http://www.newsite.com/new [R=301,L]

它会将旧域重定向到新域,例如:

http://oldsite.com/someurl

将转到:

http://www.newsite.com/new

旧网站的网址不会传递到新网站,而是会全部发送到/new

注意: 请确保您在旧域的其他文件夹中没有任何其他.htaccess个文件,因为这些文件会将以前的规则设置为空。 < / p>


如果您只想将主域名发送到新域名,而不包含任何网址:

RewriteCond %{HTTP_HOST} ^(www\.)?oldsite\.com$ [NC]
RewriteRule ^/?$ http://www.newsite.com/new [R=301,L]

另一种方法是处理新网站上的所有网址,如下面的.htaccess

RewriteCond %{HTTP_HOST} ^(www\.)?oldsite\.com$ [NC]
RewriteRule ^ http://www.newsite.com/new%{REQUEST_URI} [R=301,L]

它会将旧域重定向到新域,例如:

http://oldsite.com/someurl

将转到:

http://www.newsite.com/new/someurl

如果您不希望新内容显示简单,请从上面的规则中删除/new