gpt4 book ai didi

google-app-engine - 如何为 404 错误添加自定义错误页面(找不到页面)

转载 作者:IT王子 更新时间:2023-10-29 01:28:08 27 4
gpt4 key购买 nike

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

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

当前:- https://imgur.com/a/sGrSPyO “这是当前显示的内容”

要求:- https://imgur.com/a/TxL7NMR “这就是我想要的”

我已阅读谷歌应用引擎的 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 以查看应如何定义它。它有以下红色警告:

Warning: Make sure that the path to the error response file does not overlap with static file handler paths.

您指定:

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

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

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

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

注意:我链接到 Go 1.12 应用程序配置,因为您使用的 Go 1.9 已降级,很快将不可用。尽管如此,这同样适用于关于自定义错误页面的两个版本。

关于google-app-engine - 如何为 404 错误添加自定义错误页面(找不到页面),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57110273/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com