コンテンツにスキップ

リダイレクト

すべてのコアミドルウェアは middleware パッケージに含まれています:

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

HTTPS redirect ミドルウェアは HTTP リクエストを HTTPS へリダイレクトします。 たとえば http://labstack.com は https://labstack.com へリダイレクトされます。

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

HTTPS WWW redirect は HTTP リクエストを www HTTPS へリダイレクトします。 たとえば http://labstack.com は https://www.labstack.com へリダイレクトされます。

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

HTTPS NonWWW redirect は HTTP リクエストを non-www HTTPS へリダイレクトします。 たとえば http://www.labstack.com は https://labstack.com へリダイレクトされます。

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

WWW redirect は non-www リクエストを www へリダイレクトします。 たとえば http://labstack.com は http://www.labstack.com へリダイレクトされます。

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

NonWWW redirect は www リクエストを non-www へリダイレクトします。 たとえば http://www.labstack.com は http://labstack.com へリダイレクトされます。

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

上の例は、HTTP リクエストをステータスコード 307 - StatusTemporaryRedirect で HTTPS へリダイレクトします。

RedirectConfig · github.com/labstack/echo/[email protected]

フィールドの説明は英語のソースコードのコメントから生成されています。

パッケージのソースコードのフィールド
フィールド型説明ソース
CodeintStatus code to be used when redirecting the request. Optional. Default value http.StatusMovedPermanently.L21
パッケージのソースコードの関数
型ソース
func HTTPSNonWWWRedirect() echo.MiddlewareFuncL80
func HTTPSNonWWWRedirectWithConfig(config RedirectConfig) echo.MiddlewareFuncL85
func HTTPSRedirect() echo.MiddlewareFuncL52
func HTTPSRedirectWithConfig(config RedirectConfig) echo.MiddlewareFuncL57
func HTTPSWWWRedirect() echo.MiddlewareFuncL66
func HTTPSWWWRedirectWithConfig(config RedirectConfig) echo.MiddlewareFuncL71
func NonWWWRedirect() echo.MiddlewareFuncL108
func NonWWWRedirectWithConfig(config RedirectConfig) echo.MiddlewareFuncL113
func WWWRedirect() echo.MiddlewareFuncL94
func WWWRedirectWithConfig(config RedirectConfig) echo.MiddlewareFuncL99
// Effective defaults applied when fields are left unset.
RedirectConfig{
Skipper: DefaultSkipper,
Code: http.StatusMovedPermanently,
}

Echo のセキュリティ更新 (v5.4.0 / v4.16.0)

Section titled “Echo のセキュリティ更新 (v5.4.0 / v4.16.0)”

HTTPS リダイレクトは Context#Scheme() に依存します。公開アドレスのプロキシを使う場合は信頼するアドレス範囲を設定してください。未設定だとリダイレクトがループすることがあります。