Skip to content

Redirect

All core middleware lives in the middleware package:

import "github.com/labstack/echo/v5/middleware"

HTTPS redirect middleware redirects HTTP requests to HTTPS. For example, http://labstack.com is redirected to https://labstack.com.

e := echo.New()
e.Pre(middleware.HTTPSRedirect())

HTTPS WWW redirect redirects HTTP requests to www HTTPS. For example, http://labstack.com is redirected to https://www.labstack.com.

e := echo.New()
e.Pre(middleware.HTTPSWWWRedirect())

HTTPS NonWWW redirect redirects HTTP requests to non-www HTTPS. For example, http://www.labstack.com is redirected to https://labstack.com.

e := echo.New()
e.Pre(middleware.HTTPSNonWWWRedirect())

WWW redirect redirects non-www requests to www. For example, http://labstack.com is redirected to http://www.labstack.com.

e := echo.New()
e.Pre(middleware.WWWRedirect())

NonWWW redirect redirects www requests to non-www. For example, http://www.labstack.com is redirected to http://labstack.com.

e := echo.New()
e.Pre(middleware.NonWWWRedirect())
e := echo.New()
e.Use(middleware.HTTPSRedirectWithConfig(middleware.RedirectConfig{
Code: http.StatusTemporaryRedirect,
}))

The example above redirects HTTP requests to HTTPS with status code 307 - StatusTemporaryRedirect.

type RedirectConfig struct {
// Skipper defines a function to skip middleware.
Skipper Skipper
// Status code to be used when redirecting the request.
// Optional. Default value http.StatusMovedPermanently.
Code int
}
// Effective defaults applied when fields are left unset.
RedirectConfig{
Skipper: DefaultSkipper,
Code: http.StatusMovedPermanently,
}