2013-10-29 51 views
1

到目前为止,我一直在使用的Apache 2.4 mod_rewrite的和的RewriteCond%{QUERY_STRING}空

RewriteCond %{QUERY_STRING} ="" 

RewriteCond %{QUERY_STRING} !.*=.* 

为条件,以检查是应用重写规则之前,我查询字符串空。从Apache 2.4开始,这些指令不再起作用。

例如,对于我的http://test.loc/地址mod_rewrite的日志输出如下:使用第二指令

RewriteCond: input='ver=1.0' pattern='!.*=.*' => not-matched, referer: http://test.loc/ 

任何帮助理解

RewriteCond: input='ver=1.0' pattern='=""' => not-matched, referer: http://test.loc/ 

,或者当。

回答

1

尝试对正则表达式:

RewriteCond %{QUERY_STRING} ^(input=[^&]*)?$ 
+0

谢谢,但记录的结果是:的RewriteCond:输入= '版本= 3.7' 模式= '^ $'=>不匹配,引用者:HTTP://测试。 loc/ – Marko

+0

'input ='ver = 3.7''从哪里来? – anubhava

+0

它只是从error.log与LogLevel mod_rewrite.c复制/粘贴:trace8 – Marko