## Redirect (重定向) 中間件
#### HTTPS 重定向
HTTPS 重定向中間件將 http 請求重定向到 https。例如,http://laily.net 將被重定向到 https://laily.net。
*用法*
```go
e := echo.New()
e.Pre(middleware.HTTPSRedirect())
```
#### HTTPS WWW 重定向
HTTPS WWW 重定向將 http 請求重定向到帶 www 的 https 請求。例如,http://laily.net 將被重定向到 https://www.laily.net。
*用法*
```go
e := echo.New()
e.Pre(middleware.HTTPSWWWRedirect())
```
#### HTTPS NonWWW 重定向
HTTPS NonWWW 將 http 請求重定向到不帶 www 的 https 請求。例如,http://www.laily.net 將被重定向到 https://laily.net。
*用法*
```go
e := echo.New()
e.Pre(middleware.HTTPSNonWWWRedirect())
```
### WWW 重定向
WWW 重定向將不帶 www 的請求重定向到帶 www 的請求。
例如,http://laily.net 重定向到 http://www.laily.net
*用法*
```go
e := echo.New()
e.Pre(middleware.WWWRedirect())
```
### NonWWW 重定向
NonWWW 重定向將帶 www 的請求重定向到不帶 www 的請求。
例如,http://www.laily.net 重定向到 http://laily.net
*用法*
```go
e := echo.New()
e.Pre(middleware.NonWWWRedirect())
```
### 自定義配置
*用法*
```go
e := echo.New()
e.Use(middleware.HTTPSRedirectWithConfig(middleware.RedirectConfig{
Code: http.StatusTemporaryRedirect,
}))
```
上面的示例將 HTTP 的請求重定向到 HTTPS,使用 `307 - StatusTemporaryRedirect` 狀態碼跳轉。
### 配置
```go
RedirectConfig struct {
// Skipper defines a function to skip middleware.
Skipper Skipper
// Status code to be used when redirecting the request.
// Optional. Default value http.StatusMovedPermanently.
Code int `json:"code"`
}
```
*默認配置*
```go
DefaultRedirectConfig = RedirectConfig{
Skipper: defaultSkipper,
Code: http.StatusMovedPermanently,
}
```