在过去的 3 天里,我一直在玩 Apache 的 mod_rewrite,试图让它从我的 url 中删除 index.php,而 php 仍然需要在路径中看到它。
Essentially PHP needs to see this
http://example.com/index.php/Page/Param1/Param2
While the user needs to see this
http://example.com/Page/Param1/Param2
我现在拥有的是 htaccess 文件中的以下内容
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC]
RewriteRule ^ /%1 [R=301,L]
取自另一页,与我需要的很接近。然而,这似乎切断了http://example.com/
部分之后的一切。如何让 mod_rewrite 向用户显示一件事并让 php 看到其他内容?