1

Concrete5 提供此配置转储以在所有 URL 的开头插入省略的“index.php/”:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
</IfModule>

但为什么RewriteRule工作?

  1. 为什么替换字符串会出现在 URL 的开头,额外的“/”是从哪里来的?例如http://<host>/foo==> http://<host>/index.php/foo
  2. 为什么此规则不要求 [QSA] 保留查询字符串参数?

该规则客观上确实正确处理了这两种情况,但我无法从Apache 文档中推断出它为什么会这样,并且希望有耐心的讲师阅读我的farking手册的相关部分。

4

0 回答 0