1. 程式人生 > 實用技巧 >TP6多應用模式配置

TP6多應用模式配置

第一步:執行指令安裝多應用模式功能;

composer require topthink/think-multi-app

第二步:刪除app目錄下的所有檔案,建立應用目錄;

php think build 應用名稱

第三步:配置預設應用,修改config/app.php,新增以下配置;

// 設定預設應用名稱
'default_app' => 'home',
// 開啟自動多模式
'auto_multi_app' => true,
// 開啟應用快速訪問
'app_express' => false,

第四步:配置隱藏入口檔案,修改nginx配置***.conf;

(注意:如果沒有設定這一步,就必須帶上入口檔案,並且可能需要帶上引數s,例如:

http://servername/index.php?s=admin

location / {
    try_files $uri $uri/ /index.php?$query_string;
    index  index.html index.htm index.php;
    autoindex  on;
    if (!-e $request_filename) {
        rewrite  ^(.*)$ /index.php?s=/$1  last;
        break;
    }
}

到這一步,基本上可以正常訪問了,訪問路由:http://servername/應用名稱/控制器/方法。

也可以通過設定好的路由進行訪問,但是必須指明應用名稱,例如:http://servername/應用名稱/route。

如果不希望將應用名稱顯示出來,可以通過修改配置config/app.php來達到隱藏真實應用名稱的目的:

第一種方法:應用對映。

通過對映方法取代真實的應用名稱(修改配置檔案config/app.php):

// 應用對映(自動多應用模式有效)
'app_map' => [
    'test' => 'admin'
],

原本的路由:http://servername/admin/index/index,使用對映後,原路由將無法訪問,必須通過:http://servername/test/index/index來訪問。

第二種方法:域名繫結。

首先,需要有一個正常訪問的域名(admin-payment.com),如果本地,可以自定義域名;

然後,將域名根目錄執行專案的public目錄,並且可以正常訪問;

最後,修改配置config/app.php。

 
// 域名繫結(自動多應用模式有效)
'domain_bind' => [
    'admin-payment.com' => 'admin'
],

這樣,訪問http://admin-payment.com就相當於訪問http://servername/admin。