Как перенаправить запрос http с помощью apache / django - PullRequest
2 голосов
/ 18 марта 2009

Я сделал простой сайт в Джанго. URL, которые я использую: http :: / www.example.com/nl/ и http://www.example.com/fr/.

Мой Django urls.py имеет следующую строку:

(r '^ (? Pnl | fr) /', 'example.views.index'),

В example.views.index я проверяю параметр языка. Если это 'nl', я показываю шаблон. Если это 'fr', я показываю другой шаблон.

Это сработало отлично. Теперь клиент сделал два разных URL:

http://www.dutch.com/ и http://www.french.com/

И, наконец, я задам вопрос:

Могу ли я использовать новые URL-адреса, не меняя код django? Я предполагаю, что могу сказать apache представить страницу http://www.example.com/nl/, когда пользователь переходит на http://www.dutch.com/. Но как мне это сделать? И сможет ли django по-прежнему получать параметр «language» из URL?

Заранее спасибо за любые ответы.

1 Ответ

2 голосов
/ 18 марта 2009

Если вы можете использовать файлы .htaccess на http://www.dutch.com, то вы можете использовать директиву перенаправления apache, например,

redirectMatch 301 ^(.*)$ http://www.example.com/nl/

Это перенаправит все запросы , отправленные на dutch.com на example.com/nl

.

Вы также можете использовать

redirect 301 /index.html http://www.example.com/nl/

Это перенаправит только «index.html» на сайте dutch.com на example.com/nl/ (обратите внимание, что первый параметр является путем и не может быть URL-адресом - нет http://www)

...