.htaccess 如何302重定向请求,除非是针对特定子域/文件夹的请求?

.htaccess 如何302重定向请求,除非是针对特定子域/文件夹的请求?,.htaccess,dns,forwarding,.htaccess,Dns,Forwarding,基本上,我想将对Domain1.com的请求重定向到Domain2.com,但如果请求是针对Domain1.com/blog(或/blog/),则根本不重定向,而是留在Domain1.com域上。这仅适用于此特定文件夹/目录。在执行重定向的重写规则上方添加一个环绕HTTP\u主机。你甚至可以为一个你不想重定向的对象写它,然后否定它 例如: RewriteCond %{HTTP_HOST} !=Domain1.com 请注意,您可以有多个RewriteConds,但每个分组(一个或多个)将仅应用

基本上,我想将对Domain1.com的请求重定向到Domain2.com,但如果请求是针对Domain1.com/blog(或/blog/),则根本不重定向,而是留在Domain1.com域上。这仅适用于此特定文件夹/目录。

在执行重定向的
重写规则
上方添加一个环绕
HTTP\u主机
。你甚至可以为一个你不想重定向的对象写它,然后否定它

例如:

RewriteCond %{HTTP_HOST} !=Domain1.com

请注意,您可以有多个
RewriteCond
s,但每个分组(一个或多个)将仅应用于下一个
RewriteRule
*。

我正在尝试此操作,但在/pics文件夹RewriteCond%{HTTP\u HOST}=redirect 302/RewriteCond%{HTTP\u HOST}上得到一个重定向循环重定向302/@GrapeCamel-此重写条件将仅与主机名/域名进行比较。您不能将
/blog
包含在内-您应该将其作为相关
重写规则的一部分包含在此
RewriteCond
下面。
RewriteEngine on
RewriteBase /
#redirect to domain2 if on domain1.com and path doesn't start with /blog
RewriteCond %{HTTP_HOST} !=domain1.com
RewriteCond $0 !^blog
RewriteRule .* http://domain2.com/$0