我将一些文件放在旧域中的特定文件夹下:
http://www.olddmain.com/subfolder/example1.html
我想将此文件夹下的所有文件重定向到新域。 例如:
http://www.newdomain.com/subfolder/example1.html
如何在不丢失页面排名的情况下执行此操作?
答案 0 :(得分:0)
也许你需要这个
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.olddomain\.com$
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^olddomain\.com$
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
从Redirecting a Web Folder Directory to another Directory in htaccess
中的“重定向到其他域”答案 1 :(得分:0)
在olddomain.com/subfolder/.htaccess
文件中,您只需要一个mod_alias Redirect
指令即可将所有文件重定向到newdomain.com/subfolder/<file>
:
Redirect 302 /subfolder http://www.newdomain.com/subfolder
仅当您确定它正常工作时才将302(临时)更改为301(永久)。 (301s被浏览器严格缓存,因此可能会使测试出现问题。)
但是,如果olddomain.com
和newdomain.com
指向同一个地方,那么您将需要使用mod_rewrite并包含专门检查主机<的条件 / em>被请求,否则你将获得一个重定向循环。例如,在相同的olddomain.com/subfolder/.htaccess
文件中:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com [NC]
RewriteRule ^ http://www.newdomain.com%{REQUEST_URI} [R=302,L]
这会将olddomain.com/subfolder/<anything>
的任何请求重定向到http://www.newdomain.com/subfolder/<anything>
。
再次,当您确定它正常工作时,将302改为301。