我一直试图弄清楚 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 。!-fand!-d检查: