@sunsexsurf
IT & creative

В чем ошибка в коде при роутинге на go?

есть простой код на Го (2 странички с переходом между ними):
package main

import (
	"fmt"
	"net/http"

	"github.com/julienschmidt/httprouter"
)

func index_page(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
	http.ServeFile(w, r, "index.html")
}

func login_page(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
	fmt.Fprintf(w, "тест")
}

func handleRequest() {
    router := httprouter.New()
    router.GET("/", index_page)
    router.GET("/login", login_page)
    http.Handle("/", router)
    http.ListenAndServe(":8000", router)
}

func main() {
	handleRequest()
}


хмтл индекса:

<html>
    <head>
        <title>login or auth?</title>
    </head>
    <body>
        <h2>Стартовая страничка</h2>

            <a href = "login_page.html">
                <input class="button" value="Войти"/>
            </a>
            <a href = "reg_page.html">
                <input class="button" value="Регистрация"/>
            </a>
    </body>
</html>


Компилю, запускаю - страничка индекса открывается, при попытке перейти - валится с 404 ошибкой.

Подскажите, что я делаю не так?
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ответы на вопрос 2
@quiex
Почитайте про url, uri и ещё бы желательно поизучать протокол, с которым вы работаете.
Ответ написан
@sunsexsurf Автор вопроса
IT & creative
так. первый этап решения проблемы оказался в том, что надо пофиксить html, а именно href:
<a href = "login_page.html">
меняем на
<a href = "/login">
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы