【发布时间】:2014-02-15 13:04:35
【问题描述】:
我一直看到这个(为了简洁,我省略了 IfModule 和 RewriteEngine 指令):
RewriteBase /somedir/ #1
RewriteRule ^index\.php$ - [L] #2
RewriteCond %{REQUEST_FILENAME} !-f #3
RewriteCond %{REQUEST_FILENAME} !-d #4
RewriteRule . /somedir/index.php [L] #5
来自documentation(和我的经验):
在 .htaccess 文件中使用重写引擎时,每个目录 RewriteRule 模式的前缀 [...] 被自动删除 匹配并在任何 relative 之后自动添加(未开始 带有斜线或协议名称)替换遇到一个结尾 规则集。有关更多信息,请参阅 RewriteBase 指令 相对替换会添加什么前缀。
现在,上面的第 5 行 不是 一个 relative 替换(注意前导斜杠),所以第 1 行没有效果,因为没有为 " 添加前缀绝对”替换。
那么我的问题是,指令#1 和#5 的一部分之间是否存在冗余?
【问题讨论】:
标签: php wordpress apache .htaccess mod-rewrite