Перенаправление с домена на определенный URL-адрес проекта Django - PullRequest
0 голосов
/ 16 января 2012

Мне принадлежат два домена example1.com и example2.com. Я настроил example1.com так, чтобы он указывал на «/» моего проекта Django, а это означает, что example1.com/* обрабатывается urls.py. Я хочу, чтобы example2.com фактически указывал на определенный URL-адрес Django (например, "/ 123"), к которому в данный момент обращаются по адресу example1.com/123.

В идеале, когда вы переходите на example2.com/abc, Django будет обрабатывать запрос, как если бы он пришел с example1.com/123/abc, но URL все равно будет "example2.com/abc".

Вот что у меня есть в моем файле .htaccess, но example2.com приводит к сообщению «Сервер не найден» в Firefox.

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example2\.com$ [NC]
RewriteRule ^\.com(.*)$ http://example1.com/123/$1 [L]

Это мой первый опыт работы с файлом htaccess, поэтому извиняюсь, если что-то не так. Я использую mod_wsgi (на WebFaction) - это все еще поддерживает перезапись URL? Спасибо за вашу помощь.

Ответы [ 2 ]

0 голосов
/ 17 января 2012

Мне нужно было отредактировать httpd.conf, а не .htaccess.Вот соответствующие строки:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)?example2.com$ [NC]
RewriteRule ^(.*)$ http://example1.com/123/$1 [P,L]

Эти строки идут прямо под WSGIScriptAlias, который указывает на файл .wsgi проекта Django.Я не знаю, почему файл .htaccess не сработал, но, надеюсь, это поможет другим с такой же проблемой.

Спасибо!

0 голосов
/ 16 января 2012

Попробуйте добавить следующее в файл htaccess в корневом каталоге вашего сайта example2.com.

Options +FollowSymLinks
RewriteEngine on
RewriteBase /


RewriteCond %{HTTP_HOST} ^example2\.com$ [NC]
#proxy all requests to example1.com/123
RewriteRule (.*) http://example1.com/123/$1 [P]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...