本地PHP重写引擎:PhpStorm+XAMPP环境下URL去.php后缀后链接失效求助
解决PhpStorm+XAMPP环境下无.php后缀链接无法访问的问题
嘿,我来帮你搞定这个问题——用PhpStorm+XAMPP开发时,.htaccess移除.php后缀后,href="page"这种链接没法正常访问的情况我碰到过好多次,咱们一步步排查解决:
1. 先确保XAMPP的Apache启用了重写模块
这是.htaccess规则生效的基础,很多人都栽在这一步:
- 打开XAMPP控制面板,点击Apache的「Config」按钮,选择「Apache (httpd.conf)」打开配置文件
- 找到这行代码:
#LoadModule rewrite_module modules/mod_rewrite.so,把前面的#删掉,启用mod_rewrite模块 - 接着找到对应网站根目录的
<Directory>配置段(比如默认的htdocs目录,或者你自己设置的项目目录),把里面的AllowOverride None改成AllowOverride All——这一步是让Apache允许读取.htaccess文件的规则 - 保存配置文件,重启XAMPP的Apache服务
2. 检查你的.htaccess规则是否正确
如果模块启用了但还是不行,大概率是规则有问题。给你一个经过验证的通用规则,把它放在项目根目录的.htaccess文件里:
RewriteEngine On # 跳过实际存在的文件和目录(比如图片、CSS文件、真实文件夹) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # 将无后缀的请求重写为对应的.php文件 RewriteRule ^([^\.]+)$ $1.php [NC,L]
这个规则会先判断你请求的路径不是真实存在的文件或目录,才会把它转成带.php后缀的文件,避免干扰静态资源和真实目录的访问。
3. 配置PhpStorm用XAMPP的Apache运行项目
如果你之前是用PhpStorm内置的服务器运行项目,那肯定不行——内置服务器不支持.htaccess的重写规则。得改成用XAMPP的Apache来运行:
- 打开PhpStorm的「运行」→「编辑配置...」
- 点击左上角的「+」,选择「PHP Web页面」
- 在「服务器」选项里,点击「...」新建一个服务器配置:
- 服务器名称随便填,比如「XAMPP本地服务器」
- 主机填
localhost,端口填XAMPP Apache的默认端口(一般是80,如果改了就填你设置的端口) - 勾选「使用本地PHP解释器」,然后选择你已经关联好的XAMPP的PHP解释器
- 点击「确定」保存服务器配置
- 回到运行配置页面,选择刚才新建的服务器,设置好起始URL(比如
/对应你的项目根目录) - 之后运行这个配置,就会通过XAMPP的Apache来访问你的网站,.htaccess的规则就能正常生效了
4. 最后验证测试
做完上面的步骤后,重启XAMPP的Apache,然后访问http://localhost/page,应该就能正常加载page.php的内容了。如果还是不行,可以去XAMPP控制面板里点击Apache的「Logs」→「Error Log」查看错误日志,里面会有具体的问题提示(比如.htaccess语法错误、权限不足之类的)。
内容的提问来源于stack exchange,提问作者Stefan
相关产品推荐
相关产品推荐

