考虑以下:
RewriteRule ^(.*)$ index.php/$1
根据我对 mod_rewrite 的新手知识,这应该匹配example.com/
和之间的整个 URL 部分?query=string
,然后在它前面加上index.php/
,通常,这正是发生的情况。
http://example.com/some/stuff -> http://example.com/index.php/some/stuff
现在,考虑:
RewriteRule . index.php
根据 Concrete5 CMS 当前更新的开发人员的说法,这完全一样。事实上,它似乎也在我的服务器上做到了这一点。
我的问题是,为什么第二个 RewriteRule 会产生相同的结果而不是类似的结果
http://example.com/some/stuff -> http://example.com/index.phpome/stuff
不应该.
匹配一个字符然后用index.php
字符串替换吗?这是在 Apache 2.2 上。