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