下面由Laravel框架教學欄位給大家介紹Laravel在本地搭建多站點,希望對需要的朋友有幫助!
最近的想法挺多的,又想做這個又想做那個.但是碰到一個很難受的問題就是:
所以對我來說,眼下最要緊的事,就是先整理好程式碼,然後開發出一套屬於自己的本地化管理工具.
這個工具目前暫定為Laravel進行開發.採用的是前後端分離的策略,以便日後多端可以有相應的api進行使用.
然後我也不是特別喜歡多開好幾個Laravel進行開發,所以一個Laravel框架中,同時包含多域名也是成為一個主要的問題之一.
今天我就好好的記錄下,我用Laravel在本地化進行多域名的設置.其實架設到其他的系統其實都差不多的.
目前決定先分成兩個網域.
一個是API的介面網域,我定為: api.hellolux.com
一個是後台管理網域,我定為: admin.hellolux.com
在app\Http\Controllers目錄下,新增兩個資料夾,分別為Api和Admin.
在app\Providers\RouteServiceProvider.php中,修改
# 新增项目名称的命名空间 protected $AdminNamespace = 'App\Http\Controllers\Admin'; protected $ApiNamespace = 'App\Http\Controllers\Api'; public function map() { # 根据项目名称定义路由 $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'); }); }
'api_domain' => env('API_DOMAIN', 'api.hellolux.com'), 'admin_domain' => env('ADMIN_DOMAIN', 'admin.hellolux.com'),
API_DOMAIN=api.hellolux.com ADMIN_DOMAIN=admin.hellolux.com
# api.php use Illuminate\Http\Request; Route::get('/', "IndexController@index"); # admin.php use Illuminate\Http\Request; Route::get('/', "IndexController@index");
# Local_Manage 127.0.0.1 api.hellolux.com 127.0.0.1 admin.hellolux.com
Include /private/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>
sudo apachevtl restart
瀏覽器開啟admin.hellolux.com和api.hellolux.com分別會顯示具體的頁面了.
以上是Laravel如何在本地搭建多站點的詳細內容。更多資訊請關注PHP中文網其他相關文章!