2011-07-20 77 views
2

是否可以重定向到404和500上的頁面而不是構建自定義響應?我試過 -重定向到404上的頁面錯誤

class NotFoundPageHandler(webapp.RequestHandler): 
    def get(self):   
     #if 400 
     self.redirect('error/notfound.html') 
     #if 500 how to check 

def main(): 
    application = webapp.WSGIApplication(
             [ 
             ('/', MainPage), 
             ('/index.html', MainPage), 
             ('.*', NotFoundPageHandler) 
             ], debug=True) 

但它不起作用。

+2

請不要這樣做。如果出現錯誤,請提供相應的錯誤代碼,請勿將用戶重定向到「錯誤」頁面。它打破了互聯網。 –

回答

1

你不想重定向。你想要的是一個自定義的錯誤頁面。

http://code.google.com/appengine/docs/python/config/appconfig.html#Custom_Error_Responses

error_handlers: 
    - file: default_error.html 

    - error_code: over_quota 
    file: over_quota.html 

- error_code: 404- error_code: 500應該工作了。仔細閱讀該鏈接,這聽起來像你必須小心,這些文件不在靜態文件目錄中。

+0

我已經通過它並添加到我的yaml文件。但即使文件路徑正確,這也不起作用。 –

+0

你擺脫了'('。*',NotFoundPageHandler)'嗎?你確定你沒有重疊靜態文件目錄嗎?如果這不起作用,我不知道還有什麼可以嘗試的。 – agf

+0

是的,我擺脫了它。我將未找到的文件從根目錄移至不在靜態目錄內的新文件夾。仍然沒有運氣。 :( –