我有这个页面:
http://mysite.org/myapp/pages/blog?name=user9
我需要这个:
user9.mysite.org
我应该在我的routes.py中写什么?
答案 0 :(得分:4)
好的,所以我认为这有点误解了。您需要通过web2py应用程序提供user9.mysite.org。一种方法是,如果您的网站在mysite.org上托管,则将所有请求(无论子域名)传递给web2py应用程序(您需要与您的DNS提供商一起使用* .mysite.org等A记录:{{3 }})
然后,您可以使用路线
类似的东西:
routes_in = (
('http://(?P<user>.*).mysite.org/(?P<any>.*)',
'/app/pages/blog/\g<any>?name=\g<user>'),
)
&lt; any&gt;将保存您可能需要的任何参数。这应该将来自user9.mysite.org的请求映射到mysite.org/app/pages/blog/<args>?name=user9
你可能需要稍微玩一下才能让它发挥作用。关键是要确保直接向应用程序发出对mysite.org的任何子域的请求。这意味着如果你去www.mysite.org,mysite.org,somerandomfakesubdomain.mysite.org,你将总是和mysite.org到达同一个地方。您可能希望在博客功能中添加一些逻辑,以确保子域字符串(例如user9)代表有效用户。