我正在尝试将多个域重定向到单个域(工作正常) 但我希望一个目录不重定向或更改主域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>
但是当我尝试通过
停止重定向某个特定目录时完整代码
<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>
它全部停止工作:(错误,页面没有正确重定向。
导致错误的额外代码
<pre>
RewriteCond %{HTTP_HOST} !^www.domain.info [OR]
RewriteCond %{REQUEST_URI} !^/no_redirect_dir/
</pre>
任何帮助都将受到高度赞赏。
谢谢你!答案 0 :(得分: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]
HTTP_HOST变量只有域名,没有http / https信息。