如何使用htaccess将多个域重定向到除1个目录之外的另一个域?

Zai*_*och 5 directory dns .htaccess mod-rewrite redirect

我试图将多个域重定向到一个域(这工作正常)但我希望一个目录不重定向或更改主域URL.

这是我的.htaccess代码,它工作正常,直到这里

这个是有效的

<pre>
    RewriteCond %{HTTP_HOST}    ^http(s)?://(www.)?domain.com$  [OR]
    RewriteCond %{HTTP_HOST}    ^http(s)?://(www.)?domain.net$  [OR]
    RewriteCond %{HTTP_HOST}    ^http(s)?://(www.)?domain.org$  [OR]
    RewriteCond %{HTTP_HOST}    ^domain.info$ [OR]
    RewriteCond %{HTTP_HOST}    !^www.domain.info
    RewriteRule (.*)    http://www.domain.info/$1   [R=301,L]
</pre>
Run Code Online (Sandbox Code Playgroud)

但是当我尝试停止重定向一个特定目录时

完整代码

<pre>
    RewriteCond %{HTTP_HOST}    ^http(s)?://(www.)?domain.com$  [OR]
    RewriteCond %{HTTP_HOST}    ^http(s)?://(www.)?domain.net$  [OR]
    RewriteCond %{HTTP_HOST}    ^http(s)?://(www.)?domain.org$  [OR]
    RewriteCond %{HTTP_HOST}    ^domain.info$        [OR]
    RewriteCond %{HTTP_HOST}    !^www.domain.info   [OR]
    RewriteCond %{REQUEST_URI}  !^/no_redirect_dir/
    RewriteRule (.*)    http://www.domain.info/$1   [R=301,L]
</pre>
Run Code Online (Sandbox Code Playgroud)

它都停止工作:(错误,页面没有正确重定向.

额外的代码导致错误

<pre>
    RewriteCond %{HTTP_HOST}    !^www.domain.info   [OR]
    RewriteCond %{REQUEST_URI}  !^/no_redirect_dir/
</pre>
Run Code Online (Sandbox Code Playgroud)

任何帮助将受到高度赞赏.

谢谢!

anu*_*ava 8

像这样写你的.htaccess:

RewriteCond %{HTTP_HOST} (www\.)?domain\.(org|net|com)$ [NC]
RewriteCond %{REQUEST_URI} !^/*no_redirect_dir/ [NC]
RewriteRule ^(.*)$ http://www.domain.info/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

HTTP_HOST变量只有域名,没有http/https信息.