次の点を考慮してください。
RewriteRule ^(.*)$ index.php/$1
私が持っている mod_rewrite に関する初歩的な知識に基づいて、これは と の間の URL 部分全体と一致し、example.com/
その?query=string
前に を追加する必要index.php/
があります。
http://example.com/some/stuff -> http://example.com/index.php/some/stuff
ここで、次のことを考慮してください。
RewriteRule . index.php
Concrete5 CMS の現在のアップデートの開発者によると、これはまったく同じことを行います。実際、私のサーバーでもそれを行っているようです。
私の質問は、なぜ 2 番目の RewriteRule が次のような結果ではなく同じ結果をもたらすのかということです。
http://example.com/some/stuff -> http://example.com/index.phpome/stuff
.
1文字に一致してから文字列に置き換えるべきではありませんindex.php
か? これは Apache 2.2 上にあります。