php - 使用 htaccess 隐藏扩展名不起作用

标签 php .htaccess

我的托管来自 namecheap,我使用以下代码:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php

当我尝试访问没有扩展名的 php 文件时,出现 404 错误。 我知道这个问题已经讨论过很多次了,但是 stackoverflow 上的解决方案对我来说不起作用。

最佳答案

尝试

Options +MultiViews

RewriteEngine on
RewriteBase /
RewriteRule ^(.+)\.php$ /$1 [R,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ /$1.php [NC,END]

注意:以上解决方案适用于 Apache 2.4 及更高版本,因为旧版本不支持 END 标志。

关于php - 使用 htaccess 隐藏扩展名不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49613917/

相关文章:

php - URL 重写(内部/外部转发器).htaccess

.htaccess - 定期更改htaccess重定向

php - substr 计数返回错误结果

php - 多个连接在 Yii2 的 where 条件下表现不同

php - .htaccess 不工作 - CodeIgniter

apache - 为什么使用 http gzip 压缩后 png 大小没有改变

apache - .htaccess 相同的 url,带或不带/

php - 试图检测选择数据库错误的奇怪行为

javascript - PHP 停止表单重新加载显示错误 Js

php - 密码哈希 API 查询