我知道我们可以为RewriteCond
使用多个RewriteRule
,我认为所有条件都应该匹配(如编程中的AND)以查看重写规则是否有效。但是我没有找到关于如何制作OR条件的任何内容,因此如果其中一个条件匹配,则会发生重写规则。 (可能使用旗帜?!)
任何帮助将不胜感激。
答案 0 :(得分:2)
[OR]
非常支持 mod_rewrite
。例如,如果请求是针对有效文件或目录或链接,请考虑下面的规则忽略其余规则。
## If the request is for a valid directory
RewriteCond %{REQUEST_FILENAME} -d [OR]
## If the request is for a valid file
RewriteCond %{REQUEST_FILENAME} -f [OR]
## If the request is for a valid link
RewriteCond %{REQUEST_FILENAME} -l
## don't do anything
RewriteRule ^ - [L]
# won't affect a valid file/directory/link
RewriteRule . index.php [L]