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

如何配置Laravel路由使其指向别名域名而非主域名?

Laravel路由生成链接指向别名域名的配置方法

问题描述

我拥有主域名为site-testing.com的网站,已配置别名域名site-testing.info。现有路由配置如下:

Route::group(['prefix' => 'posts', 'as' => 'posts.site-testing.'], function () {
    Route::get('/{slug}', [PostController::class, 'show'])->name('show');
});

在Blade模板中使用命名路由生成链接:

<a href="{{route('posts.site-testing.show', $post->slug)}}">Read more</a>

生成的链接始终指向主域名http://site-testing.com/posts/slug,而非别名域名http://site-testing.info/posts/slug。

解决方案

方法1:在路由组中指定域名

直接在路由组配置里添加domain参数,强制该路由组下的所有路由使用别名域名:

Route::group(['prefix' => 'posts', 'as' => 'posts.site-testing.', 'domain' => 'site-testing.info'], function () {
    Route::get('/{slug}', [PostController::class, 'show'])->name('show');
});

配置完成后,调用命名路由时会自动生成site-testing.info域名下的链接。

方法2:生成链接时手动指定域名

如果需要灵活切换域名,可在调用route()函数时传入domain参数:

<a href="{{route('posts.site-testing.show', ['slug' => $post->slug, 'domain' => 'site-testing.info'])}}">Read more</a>

原理说明

Laravel默认会优先使用当前请求的域名,若没有请求上下文则使用config/app.php中APP_URL配置的域名。要让特定路由指向别名域名,必须显式指定domain属性,覆盖默认的域名检测逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 15:00:05