我最近更改了在 Google App Engine 上运行的 web 应用程序的域名,我想知道是否有一种简单的方法可以将页面从旧网站重定向到新域。代码方面的一切都保持不变,但我只是希望它进入新域。
我正在为 web 应用程序使用 python 和 webapp2 框架。
我知道我可以通过,并且为每个处理程序做:
webapp2.redirect('the specific url', permanent=True)
但我希望有一个更优雅的解决方案。
我最近更改了在 Google App Engine 上运行的 web 应用程序的域名,我想知道是否有一种简单的方法可以将页面从旧网站重定向到新域。代码方面的一切都保持不变,但我只是希望它进入新域。
我正在为 web 应用程序使用 python 和 webapp2 框架。
我知道我可以通过,并且为每个处理程序做:
webapp2.redirect('the specific url', permanent=True)
但我希望有一个更优雅的解决方案。
您可以只进行全局 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 重写,但我认为您没有该选项。