htaccess - 重定向目录但不是子目录

时间:2015-04-14 12:03:48

标签: .htaccess mod-rewrite redirect

我需要创建一个.htaccess重定向文件,该文件将来自旧域(olddomain.com/feedback/)的所有流量重定向到新域(newdomain.com)。但是,我不希望流量将流量重定向到olddomain.com/feedback/form/customer-feedback/,并希望仍然可以转到原始目的地。

这是我迄今为止创造的。

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/feedback/form/customer-feedback
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L] 

2 个答案:

答案 0 :(得分:1)

几乎完美。

RewriteEngine on
RewriteCond %{REQUEST_URI} !^feedback/form/customer-feedback
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

在第二行,我删除了feedback/之前的斜杠。

当您编写mod_rewrite指令时,匹配开始指示符^后面的内容是之后中URI的前一个斜杠。

答案 1 :(得分:0)

您可以在旧服务器的根目录中使用此规则.htaccess:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$ [NC]
RewriteRule ^feedback/?$ http://www.newdomain.com/$1 [R=301,NC,L]