Laravel:通配符子域路由无法正常工作

时间:2017-08-09 13:20:18

标签: php laravel


所以我正在使用Laravel框架创建一个Web应用程序,用户可以在其中创建自己的个性化配置文件页面。我想使用子域作为用户配置文件页面,但它不起作用。 我在我的路线文件中使用了这个:

Route::domain('{account}.portfolioof.me')->group(function () {
    Route::get('/',[
        'as' => 'user.portfolio',
        'uses' => 'PortfolioController@getPortfolio'
    ]);
});

但问题是索引页面显示了我的主网站的索引,而不是用户个人资料。但如果我做Route :: get('/ somethingelse'),它会工作并显示预期的内容。我希望索引页面是用户配置文件,而不是我的主要网站索引。

这是我对此网站的apache-vhost配置

<VirtualHost *:80>
    DocumentRoot "C:/xampp2/htdocs/portfolioof.me/public"
    ServerName portfolioof.me
    ServerAlias *.portfolioof.me
</VirtualHost>

任何帮助将不胜感激。感谢

1 个答案:

答案 0 :(得分:0)

编辑:我通过在路线文件中明确定义我的主域和我的子域来解决这个问题。例如,如果我有

Route::domain('{account}.portfolioof.me')->group(function () {
    Route::get('/',[
        'as' => 'user.portfolio',
        'uses' => 'PortfolioController@getPortfolio'
    ]);
});

然后我需要对我的主域做同样的事情并将所有请求放在我的主域组中,这样看起来就像这样

Route::domain('portfolioof.me')->group(function () {
    Route::get('/',[
        'as' => 'main.index',
        'uses' => 'SiteController@getIndex'
    ]);
});