我想使用一个使用基本Laravel安装的服务器,并且具有引用该安装的子域。所有子域都将像SaaS一样。
我环顾四周,数据库连接很简单,但我想知道您是否可以使用相同的子域代码库智能地执行此操作。
子域名世界包括其子域所需的最少文件 - 也许是公共索引和引导程序?希望没有符合一切。
我并不担心服务器配置,我只想指出Laravel代码的正确方向,比如中间件处理请求然后指向该子域?
我读过的许多帖子都没有一个看似标准,任何想法或链接的答案?
另外,如果它是一个多服务器设置,那么核心的NFS服务器是否正常?
答案 0 :(得分:3)
使用laravel,您可以在不使用子域的情况下检查URL,但只需检查组路由请求。
路由组也可用于处理子域路由。 可以像路由URI一样为子域分配路由参数, 允许您捕获子域的一部分以供您使用 路线或控制器。可以使用指定子域 组属性数组上的域键:
Route::group(['domain' => '{account}.myapp.com'], function () {
Route::get('user/{id}', function ($account, $id) {
// your code
});
});
在laravel文档https://laravel.com/docs/5.4/routing#route-group-sub-domain-routing
上阅读更多相关信息<强> BOUNTY 强>
您还可以为同一Route::group
提供更多参数,例如
Route::group(['domain' => '{subdomain}.{domain}.{tld}'], function () {
Route::get('user/{id}', function ($account, $id) {
// your code
});
});
同时,您可以决定使用Route::pattern
定义限制您要接受的域参数。
Route::pattern('subdomain', '(dev|www)');
Route::pattern('domain', '(example)');
Route::pattern('tld', '(com|net|org)');
Route::group(['domain' => '{subdomain}.{domain}'], function () {
Route::get('user/{id}', function ($account, $id) {
// your code
});
});
在前面的示例中,将接受以下所有域并正确路由