我正在学习 htaccess 并且遇到过这些问题,我不确定他们在做什么。
有人可以帮我解释一下这些条件的作用吗
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
RewriteCond %{REQUEST_URI} !^/index.php
我正在学习 htaccess 并且遇到过这些问题,我不确定他们在做什么。
有人可以帮我解释一下这些条件的作用吗
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
RewriteCond %{REQUEST_URI} !^/index.php
这两个条件都尝试将正则表达式与请求 URI 进行匹配。因此,您需要查看 2 个正则表达式模式匹配的内容。
(/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$
这可以是任何以 a/
或以下扩展名结尾的内容:php
, html
, htm
, feed
, pdf
, 或raw
. 或者,它可以以没有扩展名的任何内容结尾。表示字符串的$
“结束”。
第二个是 URI 不以 . 开头/index.php
。
!^/index.php
^
是字符串的“开头”,表示!
它不匹配。所以这只是URI不匹配^/index.php
。