From f288e1f8b7180d751a294e43b733537a154aaafd Mon Sep 17 00:00:00 2001 From: LinkinStar Date: Tue, 13 Dec 2022 14:17:36 +0800 Subject: [PATCH] feat(seo): response not found page when private mode --- internal/controller/template_controller.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/internal/controller/template_controller.go b/internal/controller/template_controller.go index fa659500..78dbdc4c 100644 --- a/internal/controller/template_controller.go +++ b/internal/controller/template_controller.go @@ -404,10 +404,18 @@ func (tc *TemplateController) html(ctx *gin.Context, code int, tpl string, siteI } func (tc *TemplateController) Sitemap(ctx *gin.Context) { + if tc.checkPrivateMode(ctx) { + tc.Page404(ctx) + return + } tc.templateRenderController.Sitemap(ctx) } func (tc *TemplateController) SitemapPage(ctx *gin.Context) { + if tc.checkPrivateMode(ctx) { + tc.Page404(ctx) + return + } page := 0 pageParam := ctx.Param("page") pageRegexp := regexp.MustCompile(`question-(.*).xml`) @@ -427,3 +435,15 @@ func (tc *TemplateController) SitemapPage(ctx *gin.Context) { return } } + +func (tc *TemplateController) checkPrivateMode(ctx *gin.Context) bool { + resp, err := tc.siteInfoService.GetSiteLogin(ctx) + if err != nil { + log.Error(err) + return false + } + if resp.LoginRequired { + return true + } + return false +}