排除重定向中的某些子文件夹和域

时间:2009-11-13 22:22:56

标签: html apache mod-rewrite subdomain subdirectory

这是Redirect only HTML files?

的延续

如何更改.htaccess以使其从仅HTML重定向中排除某些子文件夹或子域?我尝试使用此代码来排除'downloads'子文件夹以及'dev'和'support'子域,但它不起作用:

RewriteCond %{HTTP_HOST} ^pandamonia.us$ [OR]
RewriteCond %{HTTP_HOST} ^www.pandamonia.us$ [OR]
RewriteCond %{HTTP_HOST} !download [OR]
RewriteCond %{HTTP_HOST} !faq
RewriteCond %{HTTP_HOST} !support [OR]
RewriteRule /.+\.html$ "http\:\/\/pandamonia\.us\/" [L]

2 个答案:

答案 0 :(得分:2)

您需要检查 REQUEST_URI RewriteRule $0的全部匹配; HTTP_HOST 仅包含当前请求的主机名。您还需要更改条件的逻辑表达式:

RewriteCond %{HTTP_HOST} ^pandamonia\.us$ [OR]
RewriteCond %{HTTP_HOST} ^www.pandamonia\.us$
RewriteCond %{REQUEST_URI} !^/download/
RewriteCond %{REQUEST_URI} !^/faq/
RewriteCond %{REQUEST_URI} !^/support/
RewriteRule /.+\.html$ http://pandamonia.us/ [L]

答案 1 :(得分:1)

对于那些希望快速了解Gumbo之前回复的人(他提到何时(而不是)使用 [OR] 的情况,我发现这个WMW线程非常有帮助: http://www.webmasterworld.com/apache/3522649.htm