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

Laravel命名路由生成URL时未携带Apache配置的apps别名如何解决

解决方案
  • 第一步:修改项目根目录下的.env配置文件,找到APP_URL参数,修改为包含别名的完整根路径:
APP_URL=http://example.com/apps

核心原因说明:Laravel生成离线URL(比如队列发送邮件、CLI命令调用路由生成)时,不会读取当前Web请求的路径上下文,默认直接读取APP_URL作为根路径拼接路由,你的.htaccess仅负责访问时的入口重写,不会影响框架内部的URL生成逻辑。

  • 第二步:清理配置缓存,执行以下Artisan命令:
    php artisan config:clear
    如果你使用队列异步发送邮件,需要重启队列工作进程,否则旧配置会被常驻进程持续复用:
    php artisan queue:restart
  • 可选补充:如果修改后仍不生效,可以在app/Providers/AppServiceProvider.php的boot方法中强制指定URL根路径:
public function boot()
{
    \Illuminate\Support\Facades\URL::forceRootUrl(config('app.url'));
    // 如果站点使用HTTPS,可额外加这一行强制生成HTTPS链接
    // \Illuminate\Support\Facades\URL::forceScheme('https');
}
  • 额外提醒:如果你的预期链接后缀需要带/probation,请同步修改web.php中的路由定义:
Route::get('/probation', [ProbationPeriodController::class, 'index'])->name('Probation.index');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 06:45:03