【发布时间】:2016-09-18 12:38:10
【问题描述】:
我的路线设置如下:
<?php
Route::group([
'domain' => '{username}.u.'.env('APP_DOMAIN'),
], function () {
Route::get('/', 'FrontendController@site');
});
Route::group([
'domain' => env('APP_DOMAIN'),
], function () {
// Regular site routes
});
Route::group([
'domain' => '{domain}',
], function () {
Route::get('/', 'FrontendController@domain');
});
我想要实现的是允许用户拥有自己的网站,例如hello.u.domain.com,并且这些站点也可以通过自定义域提供服务,该域是 CNAME 到其子域的。使用上面的路由,通配符子域可以正常工作。但是,自定义域路由永远不会被击中;每当访问 CNAME 到子域的自定义域时,都会使用常规站点路由。
APP_DOMAIN 与自定义域不一样,我的RouteServiceProvider.php 中有$router->pattern('domain', '[a-z0-9.]+'); 允许{domain} 作为完整域名。
【问题讨论】:
-
如果我理解正确,route() 函数会返回一个类似 website.com 而不是 user.u.website.com 的 url?如果是这种情况,我会发布答案。
标签: laravel laravel-5 laravel-5.2 laravel-routing