You need to enable JavaScript to run this app. XAMPP环境下MVC项目访问localhost/mvc自动跳转并隐藏.php后缀问题
优惠活动
大模型
产品
解决方案
定价
更多

XAMPP环境下MVC项目访问localhost/mvc自动跳转并隐藏.php后缀问题

配置调整步骤

1. 先确认XAMPP基础配置(必做,否则.htaccess不生效)

  • 打开XAMPP控制面板,点击Apache行的「Config」按钮,选择httpd.conf
  • 搜索mod_rewrite.so,去掉该行前面的#注释,开启重写模块
  • 搜索<Directory "C:/xampp/htdocs">区块,把里面的AllowOverride None改成AllowOverride All,保存后重启Apache

2. 新增MVC根目录的.htaccess文件

在c/xampp/htdocs/mvc/文件夹下新建.htaccess文件,写入以下配置,实现访问localhost/mvc自动跳转到public目录:

RewriteEngine On
# 所有请求重定向到public子目录
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]

3. 修改public目录下的.htaccess配置

你原有配置的RewriteBase路径写错了,且缺少隐藏.php后缀的规则,替换成以下内容:

RewriteEngine On
# 修正RewriteBase为你项目public对应的URL路径
RewriteBase /mvc/public/
# 隐藏.php后缀规则
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
# 原有请求转发到入口文件的规则
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]
效果验证

配置完成后重启Apache:

  • 访问localhost/mvc会自动加载public/index.php内容,不会展示根目录文件列表
  • 访问localhost/mvc/xxx会自动转发给public/index.php处理,访问存在的php文件时URL不会显示.php后缀

内容的提问来源于stack exchange,提问作者Danish Mehmood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 08:06:05