我一直试图弄清楚 Mod_Rewrite 中的这两行是做什么的,希望能得到一些帮助。提前致谢。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php
我一直试图弄清楚 Mod_Rewrite 中的这两行是做什么的,希望能得到一些帮助。提前致谢。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php
他们检查请求的 URI 是现有文件还是目录。前面!
使条件“不”,因此,请求不映射到文件或目录。
请参阅 mod_rewrite 中的-f
和-d
描述
不是所有请求都映射到某个文件以便浏览器加载它吗?
不,请求可能是针对不存在并被重写的东西。例如,http ://en.wikipedia.org/wiki/something表示 URI 是/wiki/something
,它不映射到任何物理文件或目录。但在内部,有一条规则重写/wiki/something
为index.php?title=something
,并且index.php
确实存在。
编辑:对于已编辑的问题
.php
在末尾附加 a 。!-f
and!-d
检查: