我有以下 .htaccess 文件
#~ Turn on rewrite engine
RewriteEngine on
#~ Re-write urls for PHP documents.
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
#~ redirect site/subfolder to site/subfolder.php
RewriteCond %{REQUESTFILENAME} !-f
RewriteRule ^(.*)/$ $1.php
这会将 URL 从 site.com/something.php 更改为 site.com/something 但最后一点没有按预期工作,我有一个文件夹 site.com/myfolder/ 当用户转到“site.com/myfolder”时我希望显示 site.com/myfolder.php 而不是实际文件夹。这实际上现在发生了,但是它像在子文件夹中而不是在根目录中一样踩踏页面,因此所有相对 url 都被破坏了,任何人都可以想到解决方案吗?
我的最终解决方案: [编辑] 在下面发布了完整的脚本。