beego,找不到重新定义的页面,404页面不显示HTML,为什么?

时间:2014-10-24 07:41:43

标签: html go http-status-code-404 beego

我在router.go上重新定义了page_not_found

func page_not_found(rw http.ResponseWriter, r *http.Request) {
    t, _ := template.ParseFiles(beego.ViewsPath + "/404.html")
    data := make(map[string]interface{})

    t.Execute(rw, data)
}

并使用init函数

beego.Errorhandler("404", page_not_found)

当我在控制器中使用this.Abort("404")调用404时,404页面没有显示html,它显示页面html文本,喜欢这个

html text/plain

1 个答案:

答案 0 :(得分:1)

因为我写了404 html喜欢这个

<link rel="stylesheet" href="/static/css/style.css">
<link rel="stylesheet" href="/static/css/a.css">
<div class="html404">
    <div class="title">404</div>
        <div class="link">
            <div><a href="/">回首页</a>
            </div>
        </div>
    </div>
</div>
它引起了这个问题。当我把html改为

<html>

<head>
     <title>Aiysea 404 Page</title><link rel="stylesheet" href="/static/css/style.css">
<link rel="stylesheet" href="/static/css/a.css">
</head>

<body>

    <div class="html404">
        <div class="title">404</div>
            <div class="link">
                <div><a href="/">回首页</a>
                 </div>
            </div>
        </div>
   </div>
</body>

</html>
然后它进展顺利。