如果用户访问/abc
,
并且abc
下没有名为/
的文件/目录,将其重定向到/test.php?from=abc
,
但如果存在,请不要重定向。
答案 0 :(得分:0)
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ test.php?from=$1
RewriteCond
是一个条件 - 以下规则只有在条件为真时才会执行。
-f
测试检查文件是否存在,-d
测试检查目录是否存在。
SCRIPT_FILENAME
将设置为Apache用于获取文件的系统路径(例如/var/www/html/blah.html
)
因此它检查文件是否存在,然后检查该目录是否存在。如果满足这两个条件,它将处理规则。
示例:
DOCUMENT_ROOT
设置为/var/www/html
http://yoursite/blah.html
/var/www/html/blah.html
是否为文件/var/www/html/blah.html
是否是目录http://yoursite/test.php?from=blah.html
答案 1 :(得分:0)
可能是这样的,在Windows上的xampp上测试过。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^(.*)$ /test.php?from=$1