You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

移除URL中php后缀的重写规则在XAMPP本地失效但服务器正常如何解决

XAMPP环境下PHP后缀去除重写规则失效排查方案
  • 首先确认Apache重写模块已开启
    打开XAMPP控制面板,点击Apache行的Config按钮选择httpd.conf,搜索LoadModule rewrite_module,确认该行开头没有#注释符,存在注释的话删除后重启Apache。
  • 确认.htaccess文件配置正确
    1. 文件需放置在站点根目录(默认是XAMPP安装目录下的htdocs文件夹,自定义站点的话对应站点根目录)
    2. 确认文件名正确,Windows系统默认隐藏已知文件扩展名,需先开启显示扩展名,避免文件被误存为.htaccess.txt
    3. 确认文件开头已添加RewriteEngine On声明,部分线上环境会全局开启重写引擎,本地XAMPP默认不会自动加载该配置
  • 确认AllowOverride配置生效范围正确
    很多用户仅修改了<Directory />全局段的配置,需找到对应站点目录的配置段(默认是<Directory "C:/xampp/htdocs">),将该段内的AllowOverride值设置为All后重启Apache。
  • 调整重写规则适配XAMPP路径解析逻辑
    XAMPP的%{REQUEST_FILENAME}变量解析逻辑和Linux服务器存在差异,可替换为以下规则:
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{DOCUMENT_ROOT}/$1.php -f
    RewriteRule ^(.*[^/])/?$ $1.php [L]
    
  • 开启重写日志精准定位问题
    若上述操作均无效,可在httpd.conf中添加重写日志配置:
    # Apache 2.2 版本用以下配置
    RewriteLogLevel 3
    RewriteLog "C:/xampp/apache/logs/rewrite.log"
    
    # Apache 2.4 及以上版本用以下配置
    LogLevel alert rewrite:trace3
    
    重启Apache后访问一次目标URL,查看对应日志文件的匹配记录,即可定位规则不生效的具体原因。

内容的提问来源于stack exchange,提问作者Liam Bell

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 01:15:07