我有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
答案 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
。