2012-12-06 74 views
2

我最近更改了我在Google App Engine上運行的webapp的域名,我想知道是否有一種簡單的方法可以將頁面從我的舊網站重定向到新的頁面域。所有的代碼明智的保持完全一樣,但我只是希望它進入新的領域。頁面爲Google App引擎中的頁面重定向

我正在爲web應用程序使用python和webapp2框架。

我知道我可以去通過,併爲每一個處理器做:

webapp2.redirect('the specific url', permanent=True) 

但我希望有一個更好的解決方案。

+0

你有'BaseHandler'還是從'webapp2.RequestHandler'完成所有的處理子類? – aschmid00

回答

4

你可以做一個全局的URL重寫。基本上,您的web應用程序已經匹配請求的URL並將其指向webapp2.WSGIApplication對象中的相應代碼,因此您可以簡單地將所有URL匹配到相同的class,可能與('/*', myclass)或類似的東西,然後讓該頁面重定向用戶到您的新網站的相應頁面。例如:

import webapp2 
newdomain = 'http://www.mynewdomain.com/' 

class RedirectPage(webapp2.RequestHandler): 
    def get(self, restofurl): 
     return webapp2.redirect(newdomain + restofurl, permanent=True) 

app = webapp2.WSGIApplication([webapp2.Route(r'/<restofurl:.*>', handler=RedirectPage, name='redirect_page')]) 

不幸的是,我目前還不能測試這是100%肯定它的工作原理,但我知道這是可行的,至少理論上是這樣。理想情況下,我更喜歡Apache URL重寫,但我不認爲你有這種選擇。

+0

heck yeah!謝謝你的第一次嘗試。非常感謝! – clifgray