如果匹配一些RewriteCond,请不要重定向

时间:2012-08-08 09:48:54

标签: apache

我在httpd.conf文件中写了一些规则。它工作正常。我想编写一个RewriteCond,它应匹配第一个和第二个参数,如果匹配则不应重定向。

如果URL不是移动/登录或移动/管理重定向不应该发生,我该怎么做。

- 更新 -

RewriteCond %{HTTP_USER_AGENT} "!(android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile|Nokia*| Opera*)" [NC]
 RewriteCond $1 !web
 RewriteCond $2 !login
 RewriteCond $2 !admin
 RewriteRule ^(.*)$ /web/index.php [R,L]

这里$ 2部分对我不起作用。

1 个答案:

答案 0 :(得分:0)

在RewriteRule中添加!字符在模式的开头。

有关详细信息,请参阅the documentation

<强>更新

$ 2不适合您,因为您的RewriteRule模式只有一组捕获括号。这可能就是你要找的东西:

RewriteCond %{HTTP_USER_AGENT} "!(android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile|Nokia*| Opera*)" [NC]
RewriteCond $1 !(web|mobile/login|mobile/admin)
RewriteRule ^(.*)$ /web/index.php [R,L]