.htaccess 不起作用 - 从 URL 中删除.php文件扩展名


.htaccess not working - Removing .php File Extensions from URLs

我在使用 .htaccess 文件从 URL 中删除.php文件扩展名时遇到问题。

以前,所有页面都是 HTML,我已经成功重写了 URL 以删除.html扩展名,但它似乎不适用于.php——我只是收到 404 错误。

.ht访问目录

ErrorDocument 404 http://www.brianglassmandesign.com/404.php
RewriteEngine on
RewriteCond %{HTTP_HOST} ^brianglassmandesign.com [NC]
RewriteRule ^(.*)$ http://www.brianglassmandesign.com/$1 [L,R=301,NC]
# Remove file extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) $1.php [L]
没有

理由不拾取文件,考虑到您所做的唯一更改是扩展名。因此,我建议您仔细检查所请求的文件是否确实存在,并且是否已从旧的.html等效文件重命名。

我能提供的唯一.htaccess建议是替代您所拥有的建议如下:

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule (.+) $1.php [L]

这意味着仅当文件存在时才会进行重写。因此,如果您请求/something并且文件系统上存在/something.php,那么它将相应地提供。

否则,您需要检查相关日志以确定问题可能是什么。