Apache RewriteCond是一个重要的URL重写模块,它用来对请求URL进行匹配,并根据匹配结果决定是否进行URL重写。以下是常用的Apache RewriteCond标志:
RewriteCond %{REQUEST_FILENAME} -f 用于检查请求的文件是否存在。如果文件存在,则条件成立。
RewriteCond %{REQUEST_FILENAME} !-f 用于检查请求的文件是否不存在。如果文件不存在,则条件成立。
RewriteCond %{REQUEST_FILENAME} -d 用于检查请求的目录是否存在。如果目录存在,则条件成立。
RewriteCond %{REQUEST_FILENAME} !-d 用于检查请求的目录是否不存在。如果目录不存在,则条件成立。
RewriteCond %{HTTP_USER_AGENT} Mozilla 用于检查请求的User-Agent字符串是否包含Mozilla。如果包含,则条件成立。
以下是针对RewriteCond的代码示例:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^(.*)$ $1 [L]
RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?q=$1 [L]
RewriteCond %{HTTP_USER_AGENT} Mozilla RewriteRule ^(.*)$ $1.html [L]