多應(yīng)用域名綁定插件

v2.1.0
版本
2025-02-09
版本更新時(shí)間
6340
安裝
7
star
簡介
webman多應(yīng)用域名綁定插件,可以給每個(gè)應(yīng)用綁定獨(dú)立的域名,并且支持url地址簡寫。
關(guān)于多應(yīng)用請參考手冊 多應(yīng)用
安裝
composer require webman/domain
使用
域名和應(yīng)用綁定關(guān)系在 plugin/webman/domain/app.php中設(shè)置。
配置說明
return [
'enable' => true, // 是否開啟插件
// 多應(yīng)用綁定關(guān)系
'bind' => [
'abc.com' => '', // 不屬于任何應(yīng)用
'a.abc.com' => 'admin', // 綁定到admin應(yīng)用
'blog.abc.com' => 'blog', // 綁定到blog應(yīng)用
],
// 綁定關(guān)系,域名,應(yīng)用的驗(yàn)證邏輯,返回true時(shí)認(rèn)為符合綁定關(guān)系,反之不符合返回404
'check' => function ($bind, $domain, $app) {
return isset($bind[$domain]) && $bind[$domain] === $app;
}
];
bind
域名和應(yīng)用的綁定關(guān)系
check
當(dāng)前域名和應(yīng)用是否一致的檢測函數(shù)(可根據(jù)需要修改),返回false說明不一致,則頁面顯示404。
短url
配置好多域名后,有時(shí)候我們想簡寫url。例如 a.abc.com
與 admin
應(yīng)用綁定,原來 a.abc.com/admin/user/get
簡寫為 a.abc.com/user/get
,這時(shí)候我們可以通過nginx rewrite功能來做到。例如 a.abc.com nginx配置如下
upstream webman {
server 127.0.0.1:8787;
keepalive 10240;
}
server {
listen 80;
server_name a.abc.com;
access_log off;
root /your/webman/public;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Connection "";
if (!-f $request_filename){
rewrite ^/(.*)$ /admin/$1 break;
proxy_pass http://webman;
}
}
}