Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 如何为404错误添加自定义错误页面(未找到页面)_Google App Engine_Go_Http Status Code 404_Custom Error Pages_Web Site Project - Fatal编程技术网

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

Google app engine 如何为404错误添加自定义错误页面(未找到页面),google-app-engine,go,http-status-code-404,custom-error-pages,web-site-project,Google App Engine,Go,Http Status Code 404,Custom Error Pages,Web Site Project,我正在尝试在我的网站中添加一个自定义404错误页面,以查找未找到的页面或放置错误的URL。我有app.yaml文件并使用Go语言。我的网站基本上是在谷歌应用程序引擎。我已经检查了每一个我认为与我的堆栈溢出问题有关的示例。但在一些例子中,他们用Python或Java语言解释了这个例子,但我想在Go语言中找到。因为我的代码是用围棋写的 静态错误404页面加载到服务器中,但当我填写错误的URL时,它会显示错误页面未找到,而不是我的自定义页面。我附上的截图告诉你一切 当前:- 这就是目前的情况 所需:-

我正在尝试在我的网站中添加一个自定义404错误页面,以查找未找到的页面或放置错误的URL。我有app.yaml文件并使用Go语言。我的网站基本上是在谷歌应用程序引擎。我已经检查了每一个我认为与我的堆栈溢出问题有关的示例。但在一些例子中,他们用Python或Java语言解释了这个例子,但我想在Go语言中找到。因为我的代码是用围棋写的

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

当前:- 这就是目前的情况

所需:- 这就是我想要的

我已经阅读了google app engine的app.yaml文档,并尝试放置错误处理程序,但没有找到任何解决方案

app.yaml文件代码

以下是更新的app.yaml文件:

有关Go应用程序的app.yaml配置文件的文档,请访问

在该页面上搜索错误\u处理程序以查看如何定义它。它有以下红色警告:

警告:确保错误响应文件的路径不与静态文件处理程序路径重叠

您指定了:

-file: www/page-not-found.html*
这与静态处理程序路径之一重叠:

-url: /(.*)
 static_files: www/\1
 upload: www/(.*)
这就是为什么你的自定义错误页面没有得到服务。您必须将错误处理程序放在www文件夹之外,或者不要将整个www文件夹用作静态处理程序路径,重要的是它们不能重叠


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

@saurabhtripati请发布您的改进版本。icza。这是改进版本。。我已从www文件夹中删除page-not-found.html。并编辑app.yaml文件中的标记。但仍然没有找到解决办法。运行时:go api\u版本:go1错误\u处理程序:-文件:/page-not-found.html处理程序:-url:/static\u文件:www/index.html上载:www/index.html-url:/.*static\u文件:www/\1上载:www/*@saurabhtripati请编辑您的问题,并将其他详细信息附加到您的新app.yaml。很难从评论中读出来。@icza您确定错误处理程序可以用于404响应吗?也就是说,gae在遇到404时是否执行错误处理程序?我看到一些评论指出这是不可能的,答案通常是建议在代码中实现自定义404,而不是在配置中。。。虽然我在github上看到REPO在错误处理程序配置中指向404个模板,但它是否按照开发人员期望的方式工作是另一回事。。。还有像这样的回购…@mkopriva不,我没有尝试过,如果它可以用来覆盖404响应。。。
-file: www/page-not-found.html*
-url: /(.*)
 static_files: www/\1
 upload: www/(.*)