我正在使用下面的代码,当网站放置在 Web 根目录中时,它会发挥作用:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} ^GET\ /[^?\s]+\.php
RewriteRule (.*)\.php$ /$1/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)/$ $1.php [L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .*[^/]$ $0/ [L,R=301]
然而不幸的是,我一直在开发的站点是一个微型站点,它不会存在于 Web 根目录中。相反,它将存在于 /custom/test/ 之类的 URL 中——现在,当 URL 被重写时,这部分 URL 将被删除。
htaccess 文件需要位于此子文件夹中,以便站点的其余部分不受影响。