如何从动态创建的子域

时间:2016-01-05 09:30:59

标签: php .htaccess laravel

在用户注册后的Laravel应用程序中,我根据用户名为每个用户分配子域名。

如果用户想要访问非法和未注册的子域,我会显示404错误页面。

因为这是我的路线:

Route::group(['domain' => Config::get('app.url')], function () {
     //some Other Routes for all Members
});


// Match a subdomain of my domain
Route::group(['domain' => '{username}.' . Config::get('app.url')], function () {
    Route::get('/', ['uses' => 'DashboardController@home']);
    Route::get('/news/{news_alias}', ['uses' => 'DashboardController@news_details']);
});

config / app.php 中,我有这样的网址选项:

'url'             => 'tc.dev'

一切正常但我的问题是,当用户尝试打开 www.tc.dev 域名时,laravel会显示 404错误页面,因为laravel认为这是一个用户名和找不到它并显示错误页面。

如何从子域中排除 www ,以便充当普通域。

1 个答案:

答案 0 :(得分:1)

我还没有使用过Laravel,但我认为这样做会有所帮助。

$routerFunction = function() {
    //some Other Routes for all Members
};

Route::group(['domain' => Config::get('app.url')], $routerFunction);
Route::group(['domain' => 'www.' . Config::get('app.url')], $routerFunction);


// Match a subdomain of my domain
Route::group(['domain' => '{username}.' . Config::get('app.url')], function () {
    Route::get('/', ['uses' => 'DashboardController@home']);
    Route::get('/news/{news_alias}', ['uses' => 'DashboardController@news_details']);
});