Как сделать redirect в gorilla mux на golang?

Пользователь

от velva , в категории: Общие вопросы , 17 дней назад

Как сделать redirect в gorilla mux на golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

1 ответ

Пользователь

от edison , 17 дней назад

@velva 

Для выполнения редиректа с использованием пакета Gorilla mux в Go, можно использовать функцию Redirect(). Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
package main

import (
	"net/http"

	"github.com/gorilla/mux"
)

func main() {
	router := mux.NewRouter()

	router.HandleFunc("/", redirectHandler)

	http.ListenAndServe(":8080", router)
}

func redirectHandler(w http.ResponseWriter, r *http.Request) {
	http.Redirect(w, r, "https://www.example.com", http.StatusMovedPermanently)
}


В данном примере, мы создаем новый роутер router с помощью функции mux.NewRouter(). Затем мы определяем функцию redirectHandler, которая выполняет редирект с помощью функции http.Redirect(). В качестве параметров передается объект ResponseWriter, объект Request, URL для перенаправления (https://www.example.com) и статус перенаправления (http.StatusMovedPermanently).


Затем мы устанавливаем этот обработчик для корневого пути ('/') с помощью функции router.HandleFunc(). Наконец, мы запускаем сервер с помощью функции http.ListenAndServe(":8080", router), где ":8080" - это порт, на котором сервер будет слушать входящие соединения.


В результате, когда вы откроете http://localhost:8080 в браузере, он автоматически выполнит редирект на https://www.example.com.