伪静态%{REQUEST_FILENAME} !-f 和!-d用法
%{REQUEST_FILENAME} !-f 和!-d只对下一条RewriteRule起作用。再往下的RewriteRule不管用。
-f 表示为文件
-d 表示为目录
! 表示非,取反的意思
RewriteCond %{REQUEST_FILENAME} !-f (如果不是文件,才会执行下一条RewriteRule)
RewriteCond %{REQUEST_FILENAME} !-d (如果不是目录,才会执行下一条RewriteRule)
切记,只生效下一条,再下一条就不管用了,再下一条则会以全局形式匹配,没有条件判断。
# 打开Rerite功能
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# 如果访问的文件或目录不是真事存在,分发请求至 zzzyk.com.php,如果请求的是真实存在的文件或目录,直接访问
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ zzzyk.com.php [L]