将文件夹中的多个URL重定向到其他域

时间:2017-03-20 06:07:57

标签: .htaccess redirect url-redirection

我将一些文件放在旧域中的特定文件夹下:

http://www.olddmain.com/subfolder/example1.html

我想将此文件夹下的所有文件重定向到新域。 例如:

http://www.newdomain.com/subfolder/example1.html

如何在不丢失页面排名的情况下执行此操作?

2 个答案:

答案 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.comnewdomain.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。