我试图在我的网站中添加一个自定义404错误页面,用于“未找到的页面”或放置错误的URL。我有app.yaml文件,使用Go语言。我的网站基本上在中。我检查了每一个我认为与我的堆栈溢出问题有关的例子。但是在一些例子中,他们用Python或Java语言解释了示例,但我想在Go语言中找到。因为我的代码是用Go写的。
静态错误404页加载在服务器中,但当我填写错误的URL时,它会显示错误页,而不是我的自定义页面。我附上了截图,告诉你一切。
当前:- https://imgur.com/a/sGrSPyO“这是当前显示的”
要求:- https://imgur.com/a/TxL7NMR“这是我想要的”
我已经读过google应用引擎的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/(.*)发布于 2019-07-19 11:08:41
关于Go应用程序的app.yaml配置文件的文档可以在app.yaml配置文件上找到。
搜索页面上的error_handlers,看看如何定义它。它发出以下红色警告:
警告:确保错误响应文件的路径不与静态文件处理程序路径重叠。
你具体说明:
-file: www/page-not-found.html*这与静态处理程序路径之一重叠:
-url: /(.*)
static_files: www/\1
upload: www/(.*)这就是为什么您的自定义错误页面没有得到服务的原因。您必须将错误处理程序放在www文件夹之外(或者不使用整个www文件夹作为静态处理程序路径,重要的是它们不能重叠)。
备注:i链接到Go 1.12应用程序配置,因为您正在使用的Go 1.9已经失效,很快将不可用。然而,同样的情况也适用于关于自定义错误页的两个版本。
https://stackoverflow.com/questions/57110273
复制相似问题