2

我最近更改了在 Google App Engine 上运行的 web 应用程序的域名,我想知道是否有一种简单的方法可以将页面从旧网站重定向到新域。代码方面的一切都保持不变,但我只是希望它进入新域。

我正在为 web 应用程序使用 python 和 webapp2 框架。

我知道我可以通过,并且为每个处理程序做:

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

但我希望有一个更优雅的解决方案。

4

1 回答 1

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 重写,但我认为您没有该选项。

于 2012-12-06T18:53:29.620 回答