去除XAMPP本地主机URL中的.php后缀失败的解决方案

心靈之曲
发布: 2025-09-29 19:08:13
原创
572人浏览过

去除xampp本地主机url中的.php后缀失败的解决方案

本文旨在解决在XAMPP本地环境中,使用.htaccess文件去除URL中的.php后缀失败的问题。通常,这段代码在服务器上运行良好,但在本地XAMPP环境中却不起作用。本文将详细介绍如何启用mod_rewrite模块,这是解决此问题的关键步骤,并提供相关的配置指导,确保在本地开发环境中也能实现URL的简化。

在服务器环境中,通过.htaccess文件配置URL重写规则,可以实现去除.php后缀,从而使URL更加简洁友好。然而,在XAMPP本地开发环境中,即使配置了相同的.htaccess文件,也可能无法正常工作。这通常是因为mod_rewrite模块未启用。mod_rewrite是Apache服务器的一个强大模块,用于实现URL的重写和重定向。

以下是在XAMPP中启用mod_rewrite模块的步骤:

1. 找到 httpd.conf 文件:

立即学习PHP免费学习笔记(深入)”;

httpd.conf 文件是 Apache 服务器的主要配置文件。它通常位于 XAMPP 安装目录下的 apache/conf/ 文件夹中。例如,如果你的 XAMPP 安装在 C:\xampp 目录下,那么 httpd.conf 文件的路径可能是 C:\xampp\apache\conf\httpd.conf。

2. 编辑 httpd.conf 文件:

使用文本编辑器(如 Notepad++、Sublime Text 或 VS Code)打开 httpd.conf 文件。

3. 启用 mod_rewrite 模块:

在 httpd.conf 文件中搜索以下行:

   #LoadModule rewrite_module modules/mod_rewrite.so
登录后复制

将该行前面的 # 符号移除,取消注释,使其变为:

   LoadModule rewrite_module modules/mod_rewrite.so
登录后复制

注意: 如果找不到该行,可以手动添加 LoadModule rewrite_module modules/mod_rewrite.so 到 httpd.conf 文件中。 确保将这行代码添加到 LoadModule 相关的部分。

4. 配置 AllowOverride 指令:

百度虚拟主播
百度虚拟主播

百度智能云平台的一站式、灵活化的虚拟主播直播解决方案

百度虚拟主播 36
查看详情 百度虚拟主播

AllowOverride 指令控制着 .htaccess 文件是否可以覆盖主配置文件的设置。 为了使 .htaccess 文件中的重写规则生效,需要将 AllowOverride 设置为 All。

在 httpd.conf 文件中搜索包含 <Directory "C:/xampp/htdocs"> (或者你的网站根目录) 的部分。 找到类似下面的代码块:

   <Directory "C:/xampp/htdocs">
       Options Indexes FollowSymLinks Includes ExecCGI
       AllowOverride None
       Require all granted
   </Directory>
登录后复制

将 AllowOverride None 修改为 AllowOverride All:

   <Directory "C:/xampp/htdocs">
       Options Indexes FollowSymLinks Includes ExecCGI
       AllowOverride All
       Require all granted
   </Directory>
登录后复制

注意: 请根据你的实际网站根目录修改 <Directory> 指令中的路径。

5. 保存并重启 Apache 服务器:

保存对 httpd.conf 文件的修改,并重启 XAMPP 中的 Apache 服务器。 这将使新的配置生效。

6. 验证 .htaccess 文件:

在你的网站根目录下创建一个名为 .htaccess 的文件(如果它不存在)。 将以下代码添加到 .htaccess 文件中:

   RewriteEngine On
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME}\.php -f
   RewriteRule ^(.*[^/])/?$ $1.php [L]
登录后复制

这段代码的作用是:

  • RewriteEngine On: 启用 URL 重写引擎。
  • RewriteCond %{REQUEST_FILENAME} !-d: 检查请求的文件名是否不是一个目录。
  • RewriteCond %{REQUEST_FILENAME}\.php -f: 检查请求的文件名加上 .php 后是否是一个存在的文件。
  • RewriteRule ^(.*[^/])/?$ $1.php [L]: 将不包含斜杠结尾的URL重写为添加 .php 后缀的形式。 [L] 标志表示这是最后一条规则。

注意事项:

  • 确保你的.htaccess文件位于正确的网站根目录下。
  • 在修改任何配置文件之前,建议备份原始文件,以便在出现问题时可以恢复。
  • 重启Apache服务器后,如果仍然无法正常工作,请检查Apache的错误日志,以获取更多调试信息。 错误日志通常位于XAMPP安装目录下的 apache/logs/ 文件夹中。

总结:

通过启用 mod_rewrite 模块并将 AllowOverride 指令设置为 All,你可以在 XAMPP 本地环境中成功地使用 .htaccess 文件来去除 URL 中的 .php 后缀。 遵循上述步骤,你就可以在本地开发环境中获得与服务器环境一致的 URL 重写体验。 确保在部署到生产环境之前,在本地环境中彻底测试你的 .htaccess 文件。

以上就是去除XAMPP本地主机URL中的.php后缀失败的解决方案的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号