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

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 的请求。

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

使用

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

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. }