【问题标题】:Multi Subdomain - Muti Site with Laravel 5多子域 - 使用 Laravel 5 的多站点
【发布时间】:2016-08-20 23:29:06
【问题描述】:

我想创建一个有多个子域的站点,每个子域都是一个完整的独立 Laravel 应用程序。 该站点只有一个文件夹。

示范

www.example.com(主要网站)
blog.example.com(独立博客)
music.example.com(独立音乐的应用)

我尝试这样做

Route::group(['domain' => 'dcolsay.dev'], function () {
    Route::get('/', function () {
        return view('welcome');
    });
});
Route::group(['domain' => 'blog.dcoslay.dev'], function () {
    Route::get('/', function() {
        return view('blog::index');
    });
});

我使用PingPong - Module https://github.com/pingpong-labs/modules

第一条路线有效,但第二条我有这个错误

RouteCollection.php 第 161 行中的 NotFoundHttpException:

【问题讨论】:

  • ...和??你试过什么代码?请分享。
  • Route::group(['domain' => 'dcolsay.dev'], function () { Route::get('/', function () { return view('welcome'); }); }); Route::group(['domain' => 'blog.dcoslay.com'], function () { Route::get('/', function() { return view('blog::index'); }); });
  • ...有什么问题?解释你遇到的问题。并且始终包含代码以避免投票失败 - 但更重要的是,找到解决问题的方法。
  • 当您将return view('blog::index'); 替换为return "test"; 然后访问该URL 时会发生什么?
  • 你在使用 nginx 吗?如果是,那么你需要配置它

标签: laravel laravel-5 laravel-5.1 laravel-5.2 multiple-domains


【解决方案1】:

如果你想使用resources > blog文件夹中的index.php,那么 您必须将视图用作"return view('blog.index');" 而不是"return view('blog::index');"

【讨论】:

    【解决方案2】:

    我建议你使用 Hyn 的包:https://github.com/hyn/multi-tenant

    我将它用于我的服务器,并为所有托管项目提供了一个 laravel 应用程序。 每个域都有自己的目录,例如视图、路由、翻译、包等...

    您还可以使用https://github.com/hyn/management-interface 创建仪表板来管理您的主机名。

    【讨论】:

    • 请注意,此答案是基于旧版本的 hyn/multi-tenant 提供的。管理界面已被弃用并被删除。有关此软件包的最新信息,请参阅laravel-tenancy.com
    猜你喜欢
    • 2016-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 1970-01-01
    相关资源
    最近更新 更多