使用"?!"是什么?在这个RewriteCond?

时间:2015-07-14 11:47:09

标签: regex .htaccess apache2

我经常在?!文件中看到RewriteCond中的.htaccess组合,如下所示:

RewriteCond %{REQUEST_URI} ^(?!/slim_demo/index\.php).*$

根据我的理解,该指令检查/slim_demo/index.php是否不是REQUEST_URI的一部分。这很奇怪;最前面?的用法是什么,特别是当它没有前面的字符匹配时。文档说?" makes the match optional",但?之前的唯一内容是分组括号。这是否意味着?使分组成为可选的?真有效!

什么是神秘?

1 个答案:

答案 0 :(得分:1)

比赛结束后的负面前瞻:\ d +(?!\ d | dollar) 样本匹配:100比100的100 说明:\ d +匹配100,然后负前瞻(?!dollars)断言在字符串中的那个位置,紧接着的内容既不是数字也不是字符"美元"