htaccess RewriteCond,它会影响下面的所有规则吗?

时间:2012-09-03 16:47:48

标签: .htaccess mod-rewrite url-rewriting rewrite

我有一个看起来像这样的htaccess:

RewriteCond %{HTTP_USER_AGENT} !^irefox+
RewriteRule ^(.*)/index.html?(.*)$ /handler.php?a=%{QUERY_STRING}&b=$2

RewriteCond %{HTTP_USER_AGENT} ^irefox+
RewriteRule ^(.*)/index.html?(.*)$ /handler.php?a=%{QUERY_STRING}&b=$2&c=firefox

RewriteRule ^tag/(.*)/$ /index.php?tag=$1
RewriteRule ^action/(.*)$ /index.php?action=$1 [L]

RewriteCond是否只影响它下面的第一条规则,还是会影响最后两条规则?

1 个答案:

答案 0 :(得分:2)

  

RewriteCond是否只影响它下面的第一条规则,还是会影响最后两条规则?

RewriteCond仅影响紧随其后的RewriteRule,所以

RewriteCond %{HTTP_USER_AGENT} !^irefox+

没有任何影响
RewriteRule ^tag/(.*)/$ /index.php?tag=$1

RewriteRule ^action/(.*)$ /index.php?action=$1 [L]

如果您还希望应用这些条件,请在规则之上重复这些条件。