多应用域名绑定插件

v2.1.0 版本
2025-02-09 版本更新时间
9769 安装
7 star

简介

webman多应用域名绑定插件,可以给每个应用绑定独立的域名,并且支持url地址简写。
关于多应用请参考手册 多应用

安装

composer require webman/domain

使用

域名和应用绑定关系在 plugin/webman/domain/app.php中设置。

配置说明

return [ 'enable' => true, // 是否开启插件 // 多应用绑定关系 'bind' => [ 'abc.com' => '', // 不属于任何应用 'a.abc.com' => 'admin', // 绑定到admin应用 'blog.abc.com' => 'blog', // 绑定到blog应用 ], // 绑定关系,域名,应用的验证逻辑,返回true时认为符合绑定关系,反之不符合返回404 'check' => function ($bind, $domain, $app) { return isset($bind[$domain]) && $bind[$domain] === $app; } ];

bind
域名和应用的绑定关系

check
当前域名和应用是否一致的检测函数(可根据需要修改),返回false说明不一致,则页面显示404。

短url

配置好多域名后,有时候我们想简写url。例如 a.abc.comadmin应用绑定,原来 a.abc.com/admin/user/get 简写为 a.abc.com/user/get,这时候我们可以通过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; } } } 
赞助商