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 1d6d1693..437e6c67 100644 --- a/internal/web/actions/default/servers/server/settings/redirects/createPopup.go +++ b/internal/web/actions/default/servers/server/settings/redirects/createPopup.go @@ -27,11 +27,13 @@ func (this *CreatePopupAction) RunGet(params struct { } func (this *CreatePopupAction) RunPost(params struct { + Mode string BeforeURL string AfterURL string MatchPrefix bool MatchRegexp bool KeepRequestURI bool + KeepArgs bool Status int CondsJSON []byte IsOn bool @@ -99,12 +101,14 @@ func (this *CreatePopupAction) RunPost(params struct { } this.Data["redirect"] = maps.Map{ + "mode": params.Mode, "status": params.Status, "beforeURL": params.BeforeURL, "afterURL": params.AfterURL, "matchPrefix": params.MatchPrefix, "matchRegexp": params.MatchRegexp, "keepRequestURI": params.KeepRequestURI, + "keepArgs": params.KeepArgs, "conds": conds, "isOn": params.IsOn, } diff --git a/web/views/@default/servers/server/settings/redirects/createPopup.html b/web/views/@default/servers/server/settings/redirects/createPopup.html index 072f2649..cb0be022 100644 --- a/web/views/@default/servers/server/settings/redirects/createPopup.html +++ b/web/views/@default/servers/server/settings/redirects/createPopup.html @@ -43,6 +43,13 @@

选中后,则跳转之后,保留跳转之前的URL路径和参数。

+ + 是否保留请求参数 + + +

选中后,则跳转之后,保留跳转之前的URL上的参数(即问号之后的部分)。

+ + 跳转状态码 diff --git a/web/views/@default/servers/server/settings/redirects/createPopup.js b/web/views/@default/servers/server/settings/redirects/createPopup.js index 96877b40..fceb441e 100644 --- a/web/views/@default/servers/server/settings/redirects/createPopup.js +++ b/web/views/@default/servers/server/settings/redirects/createPopup.js @@ -11,6 +11,7 @@ Tea.context(function () { matchPrefix: false, matchRegexp: false, keepRequestURI: false, + keepArgs: true, conds: null, isOn: true } @@ -22,8 +23,7 @@ Tea.context(function () { } else if (this.redirect.matchRegexp) { this.mode = "matchRegexp" } else { - this.mode = "matchPrefix" - this.redirect.matchPrefix = true + this.mode = "equal" } this.$delay(function () {