リダイレクト
すべてのコアミドルウェアは middleware パッケージに含まれています:
import "github.com/labstack/echo/v5/middleware"HTTPS リダイレクト
Section titled “HTTPS リダイレクト”HTTPS redirect ミドルウェアは HTTP リクエストを HTTPS へリダイレクトします。
たとえば http://labstack.com は https://labstack.com へリダイレクトされます。
e := echo.New()e.Pre(middleware.HTTPSRedirect())HTTPS WWW リダイレクト
Section titled “HTTPS WWW リダイレクト”HTTPS WWW redirect は HTTP リクエストを www HTTPS へリダイレクトします。
たとえば http://labstack.com は https://www.labstack.com へリダイレクトされます。
e := echo.New()e.Pre(middleware.HTTPSWWWRedirect())HTTPS NonWWW リダイレクト
Section titled “HTTPS NonWWW リダイレクト”HTTPS NonWWW redirect は HTTP リクエストを non-www HTTPS へリダイレクトします。
たとえば http://www.labstack.com は https://labstack.com へリダイレクトされます。
e := echo.New()e.Pre(middleware.HTTPSNonWWWRedirect())WWW リダイレクト
Section titled “WWW リダイレクト”WWW redirect は non-www リクエストを www へリダイレクトします。
たとえば http://labstack.com は http://www.labstack.com へリダイレクトされます。
e := echo.New()e.Pre(middleware.WWWRedirect())NonWWW リダイレクト
Section titled “NonWWW リダイレクト”NonWWW redirect は www リクエストを non-www へリダイレクトします。
たとえば http://www.labstack.com は http://labstack.com へリダイレクトされます。
e := echo.New()e.Pre(middleware.NonWWWRedirect())カスタム設定
Section titled “カスタム設定”e := echo.New()e.Use(middleware.HTTPSRedirectWithConfig(middleware.RedirectConfig{ Code: http.StatusTemporaryRedirect,}))上の例は、HTTP リクエストをステータスコード 307 - StatusTemporaryRedirect で HTTPS へリダイレクトします。
RedirectConfig · github.com/labstack/echo/v5@5196b9b
フィールドの説明は英語のソースコードのコメントから生成されています。
| フィールド | 型 | 説明 | ソース |
|---|---|---|---|
Code | int | Status code to be used when redirecting the request. Optional. Default value http.StatusMovedPermanently. | L21 |
| 型 | ソース |
|---|---|
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 |
デフォルト設定
Section titled “デフォルト設定”// 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() に依存します。公開アドレスのプロキシを使う場合は信頼するアドレス範囲を設定してください。未設定だとリダイレクトがループすることがあります。