Skip to content

Commit 5e02bcf

Browse files
committed
redirect from www to the root
1 parent b4fc9b3 commit 5e02bcf

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

main.go

+1
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,7 @@ func prepareServices(log *slog.Logger, fs fs.FS) (*services.CSS, *services.Spons
188188
}
189189

190190
func prepareMiddleware(router *mux.Router, log *slog.Logger, storeService sessions.Store) {
191+
router.Use(middleware.RedirectFromWWWSubdomain(log))
191192
router.Use(middleware.Recover(middlewareLog(log, "recover")))
192193
router.Use(middleware.RequestID(middlewareLog(log, "requestID")))
193194
router.Use(middleware.Logger(middlewareLog(log, "logger")))

pkg/middleware/redirect.go

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package middleware
2+
3+
import (
4+
"log/slog"
5+
"net/http"
6+
)
7+
8+
func RedirectFromWWWSubdomain(logger *slog.Logger) func(http.Handler) http.Handler {
9+
return func(next http.Handler) http.Handler {
10+
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
11+
if r.Host == "www.mcmamina.sk" {
12+
if r.URL.RawQuery != "" {
13+
target := "https://mcmamina.sk"
14+
// target := fmt.Sprintf("https://mcmamina.sk%s", r.URL.Path)
15+
// target += "?" + r.URL.RawQuery
16+
logger.Info("redirecting", slog.String("host", r.Host), slog.String("target", target))
17+
http.Redirect(w, r, target, http.StatusMovedPermanently)
18+
return
19+
}
20+
21+
}
22+
next.ServeHTTP(w, r)
23+
})
24+
}
25+
}

0 commit comments

Comments
 (0)