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 redirects use Context#Scheme(). Behind a proxy, configure the scheme extractor and trusted proxy ranges so Echo can recognize HTTPS. A public proxy address that has not been trusted can cause a redirect loop.

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.

RedirectConfig · github.com/labstack/echo/v5@5196b9b

Fields from package source
FieldTypeDescriptionSource
Code int Status code to be used when redirecting the request. Optional. Default value http.StatusMovedPermanently. L21
Functions from package source
TypeSource
func HTTPSNonWWWRedirect() echo.MiddlewareFunc L80
func HTTPSNonWWWRedirectWithConfig(config RedirectConfig) echo.MiddlewareFunc L85
func HTTPSRedirect() echo.MiddlewareFunc L52
func HTTPSRedirectWithConfig(config RedirectConfig) echo.MiddlewareFunc L57
func HTTPSWWWRedirect() echo.MiddlewareFunc L66
func HTTPSWWWRedirectWithConfig(config RedirectConfig) echo.MiddlewareFunc L71
func NonWWWRedirect() echo.MiddlewareFunc L108
func NonWWWRedirectWithConfig(config RedirectConfig) echo.MiddlewareFunc L113
func WWWRedirect() echo.MiddlewareFunc L94
func WWWRedirectWithConfig(config RedirectConfig) echo.MiddlewareFunc L99
// Effective defaults applied when fields are left unset.
RedirectConfig{
Skipper: DefaultSkipper,
Code: http.StatusMovedPermanently,
}