From 03a64742c76e56103fb6e87098083b90d4e1c734 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Fri, 10 Nov 2023 11:05:05 +0800 Subject: [PATCH] =?UTF-8?q?URL=E8=B7=B3=E8=BD=AC=E4=B8=AD=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=BE=8B=E5=A4=96=E5=9F=9F=E5=90=8D=E5=92=8C=E4=BB=85?= =?UTF-8?q?=E9=99=90=E5=9F=9F=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/settings/redirects/createPopup.go | 27 +++++++++++++++- .../server/http-host-redirect-box.js | 6 ++-- .../settings/redirects/createPopup.html | 31 +++++++++++++++---- 3 files changed, 55 insertions(+), 9 deletions(-) diff --git a/internal/web/actions/default/servers/server/settings/redirects/createPopup.go b/internal/web/actions/default/servers/server/settings/redirects/createPopup.go index 49cd52c0..68a8b0ea 100644 --- a/internal/web/actions/default/servers/server/settings/redirects/createPopup.go +++ b/internal/web/actions/default/servers/server/settings/redirects/createPopup.go @@ -52,7 +52,11 @@ func (this *CreatePopupAction) RunPost(params struct { PortAfter int PortAfterScheme string - Status int + Status int + + ExceptDomainsJSON []byte + OnlyDomainsJSON []byte + CondsJSON []byte IsOn bool @@ -186,6 +190,27 @@ func (this *CreatePopupAction) RunPost(params struct { Field("status", params.Status). Gte(0, "请选择正确的跳转状态码") + // 域名 + if len(params.ExceptDomainsJSON) > 0 { + var exceptDomains = []string{} + err := json.Unmarshal(params.ExceptDomainsJSON, &exceptDomains) + if err != nil { + this.ErrorPage(err) + return + } + config.ExceptDomains = exceptDomains + } + + if len(params.OnlyDomainsJSON) > 0 { + var onlyDomains = []string{} + err := json.Unmarshal(params.OnlyDomainsJSON, &onlyDomains) + if err != nil { + this.ErrorPage(err) + return + } + config.OnlyDomains = onlyDomains + } + // 校验匹配条件 var conds *shared.HTTPRequestCondsConfig if len(params.CondsJSON) > 0 { diff --git a/web/public/js/components/server/http-host-redirect-box.js b/web/public/js/components/server/http-host-redirect-box.js index fbc70cee..f629ceeb 100644 --- a/web/public/js/components/server/http-host-redirect-box.js +++ b/web/public/js/components/server/http-host-redirect-box.js @@ -45,7 +45,7 @@ Vue.component("http-host-redirect-box", { teaweb.popup("/servers/server/settings/redirects/createPopup", { width: "50em", - height: "30em", + height: "36em", callback: function (resp) { that.id++ resp.data.redirect.id = that.id @@ -60,7 +60,7 @@ Vue.component("http-host-redirect-box", { teaweb.popup("/servers/server/settings/redirects/createPopup", { width: "50em", - height: "30em", + height: "36em", callback: function (resp) { resp.data.redirect.id = redirect.id Vue.set(that.redirects, index, resp.data.redirect) @@ -119,6 +119,8 @@ Vue.component("http-host-redirect-box", { 匹配前缀 正则匹配 精准匹配 + 排除:{{domain}} + 仅限:{{domain}}
diff --git a/web/views/@default/servers/server/settings/redirects/createPopup.html b/web/views/@default/servers/server/settings/redirects/createPopup.html index 83ac1486..a182380f 100644 --- a/web/views/@default/servers/server/settings/redirects/createPopup.html +++ b/web/views/@default/servers/server/settings/redirects/createPopup.html @@ -151,13 +151,32 @@ - 匹配条件 - - - - 启用当前跳转 - + + + + 例外域名 + + +

这些域名执行跳转。

+ + + + 仅限域名 + + +

只有这些域名执行跳转。

+ + + + 匹配条件 + + + + 启用当前跳转 + + +