Для выполнения такого редиректа в Go вы можете использовать пакет "net/http" вместе с маршрутизатором "gorilla/mux". Вот пример кода, который позволит вам реализовать редирект всех запросов с одного домена на другой:
package main import ( "log" "net/http" "github.com/gorilla/mux" ) func main() { r := mux.NewRouter() r.HandleFunc("/{path:[a-zA-Z0-9-/]+}", redirectHandler) http.Handle("/", r) log.Fatal(http.ListenAndServe(":3000", nil)) } func redirectHandler(w http.ResponseWriter, r *http.Request) { // Получите домен из текущего запроса domain := r.Host // Замените домены по своему усмотрению destination := "https://новыйдомен.ru" // Перенаправление на новый домен http.Redirect(w, r, destination, http.StatusPermanentRedirect) }
Верхний код создает сервер HTTP, прослушивающий порт 3000, и использует маршрутизатор "gorilla/mux" для обработки запросов. В функции redirectHandler
мы получаем текущий домен из запроса, указываем новый домен, на который надо перенаправлять все запросы, и выполняем редирект с помощью функции http.Redirect
.
Обратите внимание, что в данном примере используется статус перманентного редиректа (HTTP статус код 301). Вы можете выбрать другой статус редиректа в зависимости от требований вашего приложения.
Не забудьте установить "gorilla/mux" перед запуском кода:
go get -u github.com/gorilla/mux
Также не забудьте изменить порт и новый домен соответственно вашим требованиям.
Надеюсь, это помогает! Если у вас возникнут еще вопросы, не стесняйтесь задавать.