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

Laravel Lumen 5.8含字符.的路由无法正常工作问题排查

解决Lumen 5.8路由含.0后缀时Apache报错的问题

问题分析

当路由包含.0这类带点的版本号时,Apache会默认将其识别为文件扩展名,尝试匹配服务器上的对应文件,而非把请求转发给Lumen的入口文件public/index.php,因此会出现非Laravel风格的报错页面。

解决方案

1. 禁用Apache的MultiViews功能

在项目根目录的.htaccess文件(无则创建)中添加以下配置:

Options -MultiViews

MultiViews是Apache的内容协商机制,会自动尝试匹配带扩展名的请求,禁用后可避免Apache错误解析路由中的点号。

2. 确保Rewrite规则覆盖所有请求

检查.htaccess中的Rewrite规则,保证带点的路由能被正确转发到Lumen处理:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

该规则会判断请求目标不是真实目录或文件时,将所有请求转发到index.php,交由Lumen处理路由逻辑。

3. 确认Apache的mod_rewrite模块已启用

  • 打开XAMPP控制面板,点击Apache的Config按钮,选择httpd.conf
  • 找到#LoadModule rewrite_module modules/mod_rewrite.so,删除行首的#注释
  • 重启Apache服务

4. 调整PHP的cgi.fix_pathinfo配置(可选)

若上述方法无效,修改PHP配置文件php.ini:

cgi.fix_pathinfo=0

该配置会禁止PHP尝试解析不存在的文件路径,避免Apache错误处理请求。修改后重启Apache和PHP服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 18:05:17