溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Laravel在本地搭建多站點的示例分析

發(fā)布時間:2020-12-09 14:00:58 來源:億速云 閱讀:272 作者:小新 欄目:編程語言

小編給大家分享一下Laravel在本地搭建多站點的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

方案

目前決定先分為兩個域名.

一個是API的接口域名,我定為: api.hellolux.com

一個是后臺管理域名,我定為: admin.hellolux.com

實現(xiàn)

在Controller層新增文件夾

在app\Http\Controllers目錄下,新增兩個文件夾,分別為Api和Admin.

修改RouteServiceProvider.php文件

在app\Providers\RouteServiceProvider.php中,修改

# 新增項目名稱的命名空間
protected $AdminNamespace = 'App\Http\Controllers\Admin';
protected $ApiNamespace = 'App\Http\Controllers\Api';

public function map()
{
    # 根據(jù)項目名稱定義路由
    $this->mapApiRoutes();
    $this->mapAdminRoutes();
}

# 新增兩個方法
protected function mapAdminRoutes()
{
    Route::group([
        'domain' => config('app.admin_domain'),
        'namespace' => $this->AdminNamespace,
    ], function ($router) {
        require base_path('routes/admin.php');
    });
}
protected function mapApiRoutes()
{
    Route::group([
        'domain' => config('app.api_domain'),
        'namespace' => $this->ApiNamespace,
    ], function ($router) {
        require base_path('routes/api.php');
    });
}

在config/app.php新增

'api_domain' => env('API_DOMAIN', 'api.hellolux.com'),
'admin_domain' => env('ADMIN_DOMAIN', 'admin.hellolux.com'),

在.env中新增

API_DOMAIN=api.hellolux.com
ADMIN_DOMAIN=admin.hellolux.com

在routes目錄下,新增api.php和admin.php兩個文件

# api.php
use Illuminate\Http\Request;

Route::get('/', "IndexController@index");



# admin.php
use Illuminate\Http\Request;

Route::get('/', "IndexController@index");

在/etc/hosts中增加域名

# Local_Manage
127.0.0.1   api.hellolux.com
127.0.0.1   admin.hellolux.com

/etc/apache2/http.conf中取消vhosts注釋

Include /private/etc/apache2/extra/httpd-vhosts.conf

在/etc/apache2/extra/httpd-vhosts.conf中,新增

<VirtualHost *:80>
    ServerAdmin hellolux@163.com
    DocumentRoot "/Users/hellolux/Documents/Github/Local_Manage/public"
    ServerName hellolux
    ServerAlias *.hellolux.com
    ErrorLog "/Users/hellolux/Documents/Github/Local_Manage/logs/error.log"
    CustomLog "/Users/hellolux/Documents/Github/Local_Manage/logs/access.log" common
</VirtualHost>

重啟apache

sudo apachevtl restart

完成

瀏覽器打開admin.hellolux.com和api.hellolux.com分別會顯示具體的頁面了.

以上是“Laravel在本地搭建多站點的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI