определение субдомена на основе функции в rout.py в Web2Py - PullRequest
2 голосов
/ 02 октября 2011

У меня есть эта страница:

http://mysite.org/myapp/pages/blog?name=user9

, и мне нужно это:

user9.mysite.org

Что я должен написать в моем rout.py?

1 Ответ

4 голосов
/ 06 октября 2011

Хорошо, я думаю, что это немного неверно истолковано.Вам необходимо, чтобы user9.mysite.org обслуживался из приложения web2py.Один из способов, если ваш сайт размещен на mysite.org, это передать все запросы (независимо от субдомена) в приложение web2py (вам понадобится запись типа A *, например * .mysite.org, с вашим провайдером DNS: http://kb.mediatemple.net/questions/791/DNS+Explained#/A_Record)

Затем вы можете использовать маршруты

Что-то вроде:

routes_in = (
  ('http://(?P<user>.*).mysite.org/(?P<any>.*)',
  '/app/pages/blog/\g<any>?name=\g<user>'),
) 

сохранит все аргументы, которые вам могут понадобиться.Это должно сопоставить запрос от user9.mysite.org с mysite.org/app/pages/blog/?name=user9

Возможно, вам придется немного поиграть, чтобы заставить его работать.Ключ должен гарантировать, что запрос к любому поддомену mysite.org будет передан непосредственно приложению.То есть, если вы зайдете на www.mysite.org, mysite.org, somerandomfakesubdomain.mysite.org, вы всегда попадете в то же место, что и mysite.org.Возможно, вы захотите добавить некоторую логику в функцию блога, чтобы строка субдомена (например, user9) представляла действительного пользователя.

...