+++ title = “重定向” url = “/middleware/redirect” [menu.side] name = “重定向” parent = “middleware” weight = 15

+++

Redirect (重定向) 中间件

HTTPS 重定向

HTTPS 重定向中间件将 http 请求重定向到 https。例如,http://laily.net 将被重定向到 https://laily.net。

用法

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

HTTPS WWW 重定向

HTTPS WWW 重定向将 http 请求重定向到带 www 的 https 请求。例如,http://laily.net 将被重定向到 https://www.laily.net。

用法

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

HTTPS NonWWW 重定向

HTTPS NonWWW 将 http 请求重定向到不带 www 的 https 请求。例如,http://www.laily.net 将被重定向到 https://laily.net。

用法

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

WWW 重定向

WWW 重定向将不带 www 的请求重定向到带 www 的请求。

例如,http://laily.net 重定向到 http://www.laily.net

用法

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

NonWWW 重定向

NonWWW 重定向将带 www 的请求重定向到不带 www 的请求。

例如,http://www.laily.net 重定向到 http://laily.net

用法

  1. e := echo.New()
  2. e.Pre(middleware.NonWWWRedirect())

自定义配置

用法

  1. e := echo.New()
  2. e.Use(middleware.HTTPSRedirectWithConfig(middleware.RedirectConfig{
  3. Code: http.StatusTemporaryRedirect,
  4. }))

上面的示例将 HTTP 的请求重定向到 HTTPS,使用 307 - StatusTemporaryRedirect 状态码跳转。

配置

  1. RedirectConfig struct {
  2. // Skipper defines a function to skip middleware.
  3. Skipper Skipper
  4. // Status code to be used when redirecting the request.
  5. // Optional. Default value http.StatusMovedPermanently.
  6. Code int `json:"code"`
  7. }

默认配置

  1. DefaultRedirectConfig = RedirectConfig{
  2. Skipper: defaultSkipper,
  3. Code: http.StatusMovedPermanently,
  4. }