【问题标题】:Laravel 5.8 + Apache — Subdomain configurationLaravel 5.8 + Apache — 子域配置
【发布时间】:2019-11-11 14:43:44
【问题描述】:

所以基本上我的问题是关于将子域(或多个)路由到单个 Laravel 应用程序。 要详细了解我有多个 Route::group 并且我想让它们“连接”到特定的子域。 例如:

  • 帐户.domain.co → Route::domain('account.domain.co')→group(...
  • 视觉.domain.co → Route::domain('visual.domain.co')→group(...

我已经像这样配置了我的虚拟主机:

<VirtualHost *:443>
    ServerName domain.co
    DocumentRoot /var/www/domain/public
    DirectoryIndex index.php
    [...]
</VirtualHost>

<VirtualHost *:443>
    ServerName account.domain.co
    DocumentRoot /var/www/domain/public
    DirectoryIndex index.php
    [...]
</VirtualHost>

<VirtualHost *:443>
    ServerName visual.domain.co
    DocumentRoot /var/www/domain/public
    DirectoryIndex index.php
    [...]
</VirtualHost>

如您所见,所有DocumentRoot 都是相同的。 理论上,前面解释的 Laravel 配置应该可以工作,但实际上 account.domain.covisual.domain.codomain.co 将所有人重定向到同一个应用程序,而不是他们特定的 Route::group


这是我的应用程序的web.php

Route::get('/', 'IndexController@index')→name('index');
[...]

Route::group([ 'domain' => 'account.domain.com', ],function() {
  Route::get('/', 'AccountController@index')→name('account.index');
  [...]
});

Route::group([ 'domain' => 'visual.domain.com', ],function() {
  Route::get('/', 'VisualController@index')→name('visual.index');
  [...]
});

我的配置是:PHP 7.3Debian 8 (jessie)Apache 2.4.10Laravel 5.8

【问题讨论】:

  • 您能否包含您的完整(混淆)路线和组定义。诊断省略号是不可能的。
  • 当然 @Strom ,刚刚编辑了原始帖子以包含 web.php 示例

标签: apache virtualhost laravel-5.8 debian-jessie php-7.3


【解决方案1】:

您正在定义Route::groups 而不调用它们。 对于此示例,您可能根本不需要这些组; documentation 在这一点上还不清楚。我将它们包括在内,因为它不会伤害任何东西。

前两个用于默认域访问方法(替换第一个路由 get('/'),​​这是您代码中唯一采用的方法)。

Route::domain('www.domain.com')->group(function() {
get('/', 'IndexController@index')->name('index');
})};

Route::domain('domain.com')->group(function() {
get('/', 'IndexController@index')->name('index');
})};

Route::domain('account.domain.com')->group(function() {
  Route::get('/', 'AccountController@index')->name('account.index');
})};

Route::domain('visual.domain.com')->group(function() {
  Route::get('/', 'VisualController@index')->name('visual.index');
})};
//...

【讨论】:

  • 哦,好吧,据我了解,我应该对每条路线进行分组,并为它们设置一个“域”,对吧?
  • 刚刚测试过,我不得不说你让我免于另一个头痛。非常感谢您的宝贵帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-04
  • 2014-05-30
  • 2018-02-14
  • 2014-04-13
  • 1970-01-01
  • 2016-09-11
  • 2013-07-13
相关资源
最近更新 更多