Correctly show 404 page on /sitemap.xml on multi-user instances

Sitemaps are only meant for individual blogs right now, so instead
of invalid HTML getting returned, we'll properly catch the issue and
show a user-friendly "not found" page.

Fixes #941
pull/1024/head
Matt Baer 3 months ago
parent 1dd37bc56d
commit e338880609
  1. 2
      posts.go

@ -314,6 +314,8 @@ func handleViewPost(app *App, w http.ResponseWriter, r *http.Request) error {
// Display reserved page if that is requested resource
if t, ok := pages[r.URL.Path[1:]+".tmpl"]; ok {
return handleTemplatedPage(app, w, r, t)
} else if r.URL.Path == "/sitemap.xml" && !app.cfg.App.SingleUser {
return impart.HTTPError{Status: http.StatusNotFound, Message: "Page not found."}
} else if (strings.Contains(r.URL.Path, ".") && !isRaw && !isMarkdown) || r.URL.Path == "/robots.txt" || r.URL.Path == "/manifest.json" {
// Serve static file
app.shttp.ServeHTTP(w, r)

Loading…
Cancel
Save