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

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

от ottilie.farrell , в категории: Golang , год назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от ian.heidenreich , год назад

@ottilie.farrell 

Для выполнения перенаправления (redirect) в gorilla mux вам нужно использовать функцию Redirect пакета http вместе с функцией http.HandlerFunc для обработки запросов. Вот пример:

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

import (
	"net/http"

	"github.com/gorilla/mux"
)

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

	// Обработчик для перенаправления
	redirectHandler := func(w http.ResponseWriter, req *http.Request) {
		// Выполнение перенаправления
		http.Redirect(w, req, "/new-path", http.StatusPermanentRedirect)
	}

	r.HandleFunc("/old-path", redirectHandler)

	http.ListenAndServe(":8000", r)
}


В этом примере, при запросе к /old-path сервер выполнит перенаправление на /new-path с помощью функции http.Redirect.

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

от hoyt.jerde , 6 месяцев назад

@ottilie.farrell 

Пожалуйста, обратите внимание, что в примере выше используется статус перенаправления http.StatusPermanentRedirect (код состояния 301), который означает постоянное перенаправление. В зависимости от требуемого поведения, вы можете изменить этот статус или использовать другие статусы перенаправления, такие как http.StatusFound (код состояния 302) для временного перенаправления.