Перезапись URL субдомена и веб-приложения - PullRequest
0 голосов
/ 16 мая 2010

Таким образом, во многих веб-приложениях клиент выбирает свой собственный поддомен, т.е. mycompany.webapp.com

Предположительно, каждый поддомен работает с одним и тем же набором файлов, и уникальный поддомен, возможно, сохраняется как объект сеанса. Так как же работает перезапись URL?

Если кто-то заходит на mycompany.webapp.com, вы должны переписать его уникальный адрес на динамическую страницу, чтобы установить переменную сеанса, т.е. webapp.com/mypage.php?cusomer=mycompany

Но тогда, когда вы будете перенаправлены, вы окажетесь на webapp.com/theappdirectory/, а не на mycompany.webapp.com/

.

Так как они это делают?

PS работает с IIS, но метод должен быть одинаковым для любого сервера. Для нас важно, что мы не можем сделать webapp.com/theappdirectory/mycompany/somefile.html, то есть все файлы находятся в одном каталоге, и нам придется каким-то образом установить переменную сеанса, сохраняя при этом поддомен под маской.

Ответы [ 2 ]

0 голосов
/ 16 мая 2010

Любой веб-адрес (включая субдомены) сопоставляется с IP-адресом с использованием DNS.

  1. Теперь эти адреса могут отображаться на отдельные веб-серверы, где у вас задан корень документа по вашему желанию.

  2. Но ваш вопрос имеет смысл, когда несколько доменов / поддоменов размещены на одном физическом компьютере. Если вы используете apache, есть параметр виртуального хоста, который можно использовать для логического разделения разных доменов, размещенных на одном сервере. Он в основном отображает адрес хоста (например, x.example.com, y.example.com) или IP-адрес на виртуальный хост, который устанавливает начальные параметры, такие как значения DocumentRoot, PHPAdmin ..

Проверьте http://httpd.apache.org/docs/2.0/vhosts/examples.html и http://httpd.apache.org/docs/1.3/vhosts/ для получения дополнительной информации

0 голосов
/ 16 мая 2010

Перенаправление может происходить только изнутри:

RewriteCond %{HTTP_HOST} ^([^./]+)\.example\.com$
RewriteCond %1 !=www
RewriteRule ^ mypage.php?customer=%1

Для этой работы ваш сервер / виртуальный хост должен быть настроен на прием всех поддоменов (см., Например, Поддержка виртуальных хостов на основе имен ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...