Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
Http 如何将AppEngine 500错误重定向到其他位置?_Http_Google App Engine - Fatal编程技术网

Http 如何将AppEngine 500错误重定向到其他位置?

Http 如何将AppEngine 500错误重定向到其他位置?,http,google-app-engine,Http,Google App Engine,如何将500个错误从google appengine重定向到其他位置 以下是一个示例场景: 如果出现500错误,所有对的请求都应重定向到 这基本上是将500错误与302重定向相结合。如果没有解决方法,是否可能?它可以用我知道的最简单的方法重定向故障 try: #stuff except: self.redirect('http://www.example.com/testfile.ext') return 或者这个稍微复杂一点的重定向可以从301

如何将500个错误从google appengine重定向到其他位置

以下是一个示例场景:

如果出现500错误,所有对的请求都应重定向到


这基本上是将500错误与302重定向相结合。如果没有解决方法,是否可能?

它可以用我知道的最简单的方法重定向故障

   try:
    #stuff    
   except:
     self.redirect('http://www.example.com/testfile.ext')
     return
或者这个稍微复杂一点的重定向可以从301修改为302

def redirect_from_appspot(wsgi_app):
    def redirect_if_needed(env, start_response):
        if env["HTTP_HOST"].startswith('my_app_name.appspot.com'):
            import webob, urlparse
            request = webob.Request(env)
            scheme, netloc, path, query, fragment = urlparse.urlsplit(request.url)
            url = urlparse.urlunsplit([scheme, 'www.my_domain.com', path, query, fragment])
            start_response('301 Moved Permanently', [('Location', url)])
            return ["301 Moved Peramanently",
                  "Click Here" % url]
        else:
            return wsgi_app(env, start_response)
    return redirect_if_needed

案例取决于500错误是您的应用程序还是谷歌服务器。最简单的方法是在gae控制台中使用它,我们可以请求应用引擎团队启用,或者使用yaml或最正式的正则表达式。最简单的方法是尝试,除了和重定向。

您所说的方法只适用于逐个处理错误。没有一种方法可以处理我应用程序上的所有500个错误。你能解释一下为什么要这样做吗?在发生错误的情况下返回非500错误代码通常是一个糟糕的主意-也许有更好的方法来满足您的要求。实际上,我正在尝试创建一个故障保护。如果用户向app engine发出请求,并且由于某种原因引发500错误,则该请求应自动重定向到我的备份服务器位置。这只是为了确保故障保护。