登录
首页 >  Golang >  Go问答

如何为 404 错误添加自定义错误页面(未找到页面)

来源:stackoverflow

时间:2024-04-20 23:18:38 451浏览 收藏

从现在开始,努力学习吧!本文《如何为 404 错误添加自定义错误页面(未找到页面)》主要讲解了等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

问题内容

我正在尝试在我的网站中添加自定义 404 错误页面,以显示“找不到页面”或输入错误的 url。我有 app.yaml 文件并使用 go 语言。我的网站基本上位于 google app engine 中。我已经检查了每个示例,我认为它们与我的堆栈溢出问题有关。但在一些例子中他们用python或java语言解释了例子,但我想用go语言找到。因为我的代码是用 go 编写的。

静态错误 404 页面已加载到服务器中,但当我填写错误的 url 时,它会显示错误页面未找到,而不是我的自定义页面。我已附上屏幕截图,它会告诉您一切。

当前:- https://i.stack.imgur.com/7ayje.jpg “这就是当前显示的内容”

必填:- https://i.stack.imgur.com/jrapu.jpg “这就是我想要的”

我已阅读谷歌应用程序引擎的 app.yaml 文档并尝试放置错误处理程序,但我没有找到任何解决方案。

app.yaml 文件代码

runtime: go
api_version: go1

handlers:

-url: /

  static_files: www/index.html

  upload: www/index.html

-url: /(.*)

  static_files: www/\1

  upload: www/(.*)

error_handlers: 

  -file: www/page-not-found.html*

这是更新后的 app.yaml 文件:

runtime: go

api_version: go1

error_handlers: 
  - file: /page-not-found.html

handlers:
- url: /
  static_files: www/index.html
  upload: www/index.html
- url: /(.*)
  static_files: www/\1
  upload: www/(.*)

解决方案


go 应用程序的 app.yaml 配置文件的文档可以在 app.yaml Configuration File 找到。

在该页面上搜索 error_handlers 以了解应如何定义它。它有以下红色警告:

您指定:

-file: www/page-not-found.html*

这与您的静态处理程序路径之一重叠:

-url: /(.*)
 static_files: www/\1
 upload: www/(.*)

这就是您的自定义错误页面无法提供服务的原因。您必须将错误处理程序放置在 www 文件夹之外(或者不使用整个 www 文件夹作为静态处理程序路径,重要的是它们不能重叠)。

注意:我链接到了 go 1.12 应用配置,因为您使用的 go 1.9 已弃用,很快就会变得不可用。尽管如此,这同样适用于有关自定义错误页面的两个版本。

理论要掌握,实操不能落!以上关于《如何为 404 错误添加自定义错误页面(未找到页面)》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>