小编sub*_*512的帖子

Go lang http.Redirect 并没有真正在我的服务器中重定向

我有一个简单的聊天服务器,由于某种原因,http.Redirect 功能并没有真正工作。问题是,它并没有将我实际重定向到“/login”,而是提供了一个带有指向 /login 链接的 html 页面。这很烦人,因为不存在 CSS 并且看起来很难看。

func static(w http.ResponseWriter, r *http.Request) {
    //check backend
    if user, err := aaa.CurrentUser(w, r); err == nil {
        //user is logged in
        log.Println(user)
        vars := mux.Vars(r)
        page := vars["page"]
        data, _ := ioutil.ReadFile("downloads/" + page)
        w.Write(data)
        return
    }else {
        //user is not logged in
        http.Redirect(w,r,"/login",http.StatusUnauthorized)
        w.Write([]byte("<script>alert('Please login')</script>"))
        return
    }
} 
Run Code Online (Sandbox Code Playgroud)

例如,当用户未登录时,会出现 javascript 警报并将我带到此页面<a href="/login">Unauthorized</a>.这就是 html 页面包含的全部内容。只是那个单一的href 没有标题,什么都没有。

以防万一-main.go 代码(应该足够了)

package main

import (
    "flag"
    "fmt"
    "html/template"
    "io/ioutil"
    "log"
    "net/http"
    "os" …
Run Code Online (Sandbox Code Playgroud)

redirect web-services go server

4
推荐指数
1
解决办法
4399
查看次数

标签 统计

go ×1

redirect ×1

server ×1

web-services ×1