我最近更改了我在Google App Engine上运行的webapp的域名,我想知道是否有一种简单的方法可以将页面从我的旧网站重定向到新域。代码明智的一切都保持不变,但我只是希望它转到新的域名。
我正在为web应用程序使用python和webapp2框架。
我知道我可以完成每一个处理程序:
webapp2.redirect('the specific url', permanent=True)
但我希望有一个更优雅的解决方案。
答案 0 :(得分:4)
你可以做一个全局网址重写。基本上,您的网络应用已经与所请求的网址相匹配,并将其指向webapp2.WSGIApplication
对象中的相应代码,因此您可以将所有网址与同一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重写,但我认为你没有这个选择。