Laravel 需要根据用户名创建url的子域类型
在为此苦苦挣扎了两周之后,我发布了这个问题。我正在从事一个Laravel项目,我被项目中需要的一个功能所困扰 实际上,我希望根据每个用户的用户名为他们动态生成URL。就像斯莱克一样 假设我的域名是Laravel 需要根据用户名创建url的子域类型,laravel,laravel-5,url-rewriting,url-routing,Laravel,Laravel 5,Url Rewriting,Url Routing,在为此苦苦挣扎了两周之后,我发布了这个问题。我正在从事一个Laravel项目,我被项目中需要的一个功能所困扰 实际上,我希望根据每个用户的用户名为他们动态生成URL。就像斯莱克一样 假设我的域名是example.com 假设一个用户注册的用户名是ryan,那么我想要像ryan.example.com 当站点运行这种类型的URL时,它应该适用于登录的用户。因此,我还需要在我的Laravel项目中使用一些机制,可以从url文件中获取我的用户id或其他用户详细信息 到目前为止,我尝试的是: 我将以下代
example.com
假设一个用户注册的用户名是ryan
,那么我想要像ryan.example.com
当站点运行这种类型的URL时,它应该适用于登录的用户。因此,我还需要在我的Laravel项目中使用一些机制,可以从url文件中获取我的用户id或其他用户详细信息
到目前为止,我尝试的是:
我将以下代码放在Laravel的Route.php
文件中:
Route::group(['domain' => '{account}.example.com'], function () {
Route::get('/', function ($account) {
return $account;
});
});
Laravel支持开箱即用的布线。根据官方文件
Route::domain('{account}.myapp.com')->group(function () {
Route::get('user/{id}', function ($account, $id) {
//
});
});
账户部分没有硬编码。它是动态的。所以你可以把各种逻辑放进去。例如,如果我想访问ryan.example.com
,那么您需要检查我是否真的是ryan。您还可以像用于其他路由一样使用中间件
还要检查是否可以在函数中使用$account变量。如果您愿意,那么您可以使用该$account从该url段获取“用户id或其他用户详细信息”
我希望这个答案足以让你开始。如果你被困在某个地方,请再次与我们分享任何具体问题,我们将尽力帮助你 Laravel支持开箱即用的布线。根据官方文件
Route::domain('{account}.myapp.com')->group(function () {
Route::get('user/{id}', function ($account, $id) {
//
});
});
账户部分没有硬编码。它是动态的。所以你可以把各种逻辑放进去。例如,如果我想访问ryan.example.com
,那么您需要检查我是否真的是ryan。您还可以像用于其他路由一样使用中间件
还要检查是否可以在函数中使用$account变量。如果您愿意,那么您可以使用该$account从该url段获取“用户id或其他用户详细信息”
我希望这个答案足以让你开始。如果你被困在某个地方,请再次与我们分享任何具体问题,我们将尽力帮助你 嗨@nabil,谢谢你抢先一步。这是否适用于所有注册网站的用户?如果
stephny
注册并登录该站点,则URL将为stephny.example.com
我是否应该在vhosts文件中进行任何更改?我不确定这一点。我使用apache,当我从事一个爱好项目时,我不需要对vhosts进行任何更改。但是你的情况可能会不同。嗨@nabil,谢谢你的领先。这是否适用于所有注册网站的用户?如果stephny
注册并登录该站点,则URL将为stephny.example.com
我是否应该在vhosts文件中进行任何更改?我不确定这一点。我使用apache,当我从事一个爱好项目时,我不需要对vhosts进行任何更改。但你的情况可能不同。