【发布时间】:2019-11-06 12:35:12
【问题描述】:
我有这样的路线:
Route::resource('tunnels', 'TunnelController');
Route::get('/{slug}', array('uses' => 'TunnelController@show','as' => 'domain.tunnels.show'));
这是我的刀片文件中的路由
{{ route('domain.tunnels.show', ['slug' => $tunnel->slug])}}
它给了我这样的网址:http://maindomain.com/my-slug"
效果很好!
然后,我想使用customdomain.com,所以我像这样配置我的路由
Route::resource('tunnels', 'TunnelController');
Route::get('/{slug}', array('domain' => '{domain}', 'uses' => 'TunnelController@show','as' => 'domain.tunnels.show'));
还有路线
{{ route('domain.tunnels.show', ['domain' => $tunnel->domain, 'slug' => $tunnel->slug])}}
url 的渲染看起来不错:http://customdomain.com/my-slug 但是当我尝试打开页面时出现 404 错误。
我试图弄清楚为什么从 2 天开始,但我无法理解:(
有什么我忘记了吗?
谢谢
编辑:
隧道控制器.php
public function __construct()
{
$this->middleware('auth', ['except' => 'show']);
}
public function show($slug)
{
$tunnel = Tunnel::where('slug', $slug)->first();
return view('tunnels.show', ['tunnel' => $tunnel]);
}
【问题讨论】:
-
你能在你的 TunnelController 中显示代码吗?
-
@djoo 你需要 laravel
Dynamic custom domain routing?如果是,那么我会发布答案。 -
@AmitSenjaliya 首先,我想用我的蛞蝓获取隧道对象时遇到问题。然后,是的,我需要动态自定义域路由(它已经可以创建 URL,但我得到了 404)
-
@BartvanVenrooij 我编辑帖子并将隧道控制器的内容放在底部:)
-
您是否将 getRouteKeyName 方法添加到您的隧道模型中? @见laravel.com/docs/5.8/routing#implicit-binding