首页 > 解决方案 > 使用 htaccess 删除 .php 扩展名,但保留 /index.php 功能

问题描述

我正在尝试使用以下内容删除所有 .php 扩展名...

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

但是我有一个目录 - mysite.com/example/,它将不再显示 index.php 文件,相反,我必须访问 mysite.com/example/index。我确定必须有解决方法吗?谢谢

编辑:目的是能够访问 mysite.com/example/ 并正常加载索引页面。但是对于诸如 mysite.com/example/test.php 之类的文件,.php 扩展名将被删除,并将从链接 mysite.com/example/test 加载

标签: php.htaccess

解决方案


请将此代码添加到 .htaccess 文件中

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

Options -Indexes
DirectoryIndex index.php index.html

注意:以上选项和目录索引行允许加载特定文件,以防万一没有设置默认索引文件


推荐阅读