我目前使用以下 htaccess 代码来删除所有 php 扩展,并且还允许加载 /index.php 页面而不使用“index”一词,因为这是删除 .php 的成本:
RewriteRule ^$ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+[^/])$ $1.php [L]
我曾经为每个用户创建一个新页面,但正如人们可能看到的那样,这不是一个好主意。所以我删除了所有用户页面,我会以不同的方式包含它们,但我需要将请求的页面作为获取参数传递给另一个文件。所以我决定通过不同目录中的文件路由每个主级别(/)请求的页面,如下所示:
RewriteRule ^([^/]+)$ some/page.php?requested_page=$1 [L,QSA,NC]
但是如果有人像这样请求它,它不适用于 /index.php 页面:/
我将代码更改为:
RewriteRule ^(<?!)([^/]+)$ some/page.php?requested_page=$1 [L,QSA,NC]
现在“/”请求有效,任何真正存在的页面都有效,但“假用户页面”现在不起作用。有没有办法我可以做到这两点?