1
我正在使用GAE簡單的靜態網站只有HTML/HTM頁面,圖片等。我也使用Python 2.7。GAE中的簡單靜態網站與自定義404錯誤頁面
所以我使用了一個直接的app.yaml和main.py,並且工作。但是,當訪問一個不存在的頁面時,它會顯示一個標準的404頁面。我想將其更改爲自定義錯誤頁面,並在下面嘗試過,但不起作用。
這裏有我的app.yaml和main.py文件:
application: xxxx
version: 11
runtime: python27
api_version: 1
threadsafe: true
default_expiration: "7d"
inbound_services:
- warmup
handlers:
- url:/
static_files: index.html
upload: index.html
- url: /(.*)
static_files: \1
upload: (.*)
- url: /.*
script: main.app
Main.py:
import webapp2
class BaseHandler(webapp2.RequestHandler):
def handle_exception(self, exception, debug):
# Set a custom message.
self.response.write('An error occurred.')
# If the exception is a HTTPException, use its error code.
# Otherwise use a generic 500 error code.
if isinstance(exception, webapp2.HTTPException):
self.response.set_status(exception.code)
else:
self.response.set_status(500)
class MissingPage(BaseHandler):
def get(self):
self.response.set_status(404)
self.response.write('Page has moved. Pls look at http://www.yyyyyy.yy to find the new location.')
class IndexHandler(webapp2.RequestHandler):
def get(self):
if self.request.url.endswith('/'):
path = '%sindex.html'%self.request.url
else:
path = '%s/index.html'%self.request.url
self.redirect(path)
def post(self):
self.get()
app = webapp2.WSGIApplication(
[ (r'/', IndexHandler),
(r'/.*', MissingPage)
],
debug=True)
什麼是不正確的?我找了很多項目,但沒有確切地解釋瞭如何爲一個簡單的網站與Python 2.7爲此,
讓我知道,許多感謝,邁克爾
省略了.yaml文件中的第二個處理程序,你會看到你的main.app你處理的結果。第二個處理程序應該做什麼 - 'static_files':\ 1? – rGil 2013-05-13 19:26:27
謝謝RGIL,這是一個很好的線索,我試圖拿出第二個處理程序,我沒有得到404自定義錯誤頁面。但現在它只有index.html頁面,而不是其他(105)頁面,圖像,樣式表等。 我使用第二個處理程序來處理所有其他頁面。 所以有辦法,我仍然可以提供所有105個文件作爲靜態文件並獲得自定義錯誤頁面。 – user2378683 2013-05-14 03:24:57