第一步:執行指令安裝多應用模式功能;
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。