Http 如何将AppEngine 500错误重定向到其他位置?
如何将500个错误从google 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错误与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错误,则该请求应自动重定向到我的备份服务器位置。这只是为了确保故障保护。