当前位置: 首页 > 面试题库 >

Google App Engine和404错误

徐焱
2023-03-14
问题内容

我已经使用在其他地方找到的提示在GAE上建立了一个静态网站,但无法弄清楚如何返回404错误。我的app.yaml文件看起来像

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

- url: /
  static_dir: static

并将所有静态html /
jpg文件存储在静态目录下。上面的方法适用于已存在的文件,但如果不存在,则返回空长度的文件。答案可能是编写python脚本以返回404错误,但是如何设置内容以服务已存在的静态文件,但为不存在的文件运行脚本?

这是从开发应用程序服务器上获取不存在的文件(nosuch.html)的日志:

ERROR    2008-11-25 20:08:34,084 dev_appserver.py] Error encountered reading file "/usr/home/ctuffli/www/tufflinet/static/nosuch.html":
[Errno 2] No such file or directory: '/usr/home/ctuffli/www/tufflinet/static/nosuch.html'
INFO     2008-11-25 20:08:34,088 dev_appserver.py] "GET /nosuch.html HTTP/1.1" 404 -

问题答案:

您需要注册一个包罗万象的脚本处理程序。在app.yaml末尾附加:

- url: /.*
  script: main.py

在main.py中,您需要输入以下代码:

from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class NotFoundPageHandler(webapp.RequestHandler):
    def get(self):
        self.error(404)
        self.response.out.write('<Your 404 error html page>')

application = webapp.WSGIApplication([('/.*', NotFoundPageHandler)],
                                     debug=True)

def main():
    run_wsgi_app(application)

if __name__ == "__main__":
    main()

换成<Your 404 error html page>有意义的东西。或者最好使用模板,您可以在此处阅读如何做。

如果您在设置时遇到问题,请告诉我。



 类似资料:
  • 我正在尝试将一个基于PHP的API从共享主机移植到Google应用程序引擎。我下载了PHPSDK,在启动器中创建了一个新的应用程序,在PHP中启用了cURL。ini(使用),现在我得到这个错误: 如果我向curl_init()添加反斜杠(告诉它不要使用MyNamespace),我会得到这个: 除了启用cURL_lite()(稍后我可能会解决这个问题,因为它不支持我需要的cURL选项),我如何解决这

  • null 我在Intellij下的debug中运行我的springboot应用程序。我尝试在命令行中运行fat jar:同样的问题。有人知道我的配置有什么问题吗? 谢谢

  • 我已经跟随杰弗里·韦的教程。 教程: https://laracasts.com/series/real-time-laravel-with-socket-io/episodes/1 null 我尝试使用

  • 我不知道发生了什么,但在浏览器控制台中,我可以看到3个与字体相关的错误 我知道这是荒谬的,我不能自己解决这个问题,但一切似乎都好,在我的index.html我有这样的东西 这就是我所有与字体相关的东西,我已经检查了路径,我没有错。 这是发生在你们中间的吗? 更新 这是NGINX部分,我在头部加载了一些内容

  • 我的站点将XML转换为HTML页面。在“Web pages”文件夹中,我创建了一个文件夹“Acces”,其中将包含生成的HTML页面和使用的图像。生成过程正常工作,它将HTML和jpg文件以corect格式放置在Acces文件夹中。我可以从我的本地磁盘上访问它们。当我试图在localhost:8080/myapp/acces/img/image1.jpg访问jpg时,它可以工作,但当我访问loca

  • 我正在尝试spring-mvc和JSON。 项目在tomcat中部署成功,如localhost:8080/manager 所示 我试图发送json数据,并遵循“http://www.mkyong.com/spring-mvc/spring-3-mvc-and-json-example/” 我缺少什么? 谢谢