我已经查看了这些解决方案,但它们都没有真正在我身上正常工作:
mod_rewrite 删除 .php 但仍提供 .php 文件?
如何使用 Apache Mod_rewrite 删除 php 扩展,同时保留 GET 参数?
他们只是不做以下事情,这是我需要做的:
1)从文件中删除 .php 扩展名,而不是 /index.php 显示 /index
2)保留GET参数(我在加载文件时读取并存储在会话cookie中,在标题中),因此/index.php?a=1&b=2可能显示/index/a1/b2
3)在子域和 https:// 上工作,而不会完全弄乱 URL 或最终陷入无限循环或其他东西......
有谁知道如何将这些规则组合在一起,以便正确涵盖上述 3 点?
这是我作为起点的工作:
RewriteCond %{THE_REQUEST} (\.php(.*)\sHTTP/1)
RewriteRule ^(.+)\.php$ /$1 [R=301,L,QSA]