Apache VirtualDocumentRoot лучшая настройка - PullRequest
1 голос
/ 30 октября 2010

Я хочу иметь чистую, эффективную настройку каталогов с VirtualDocumentRoot.(Ссылка: http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html).

В частности, я думаю о следующем:

1) http://example.com для обслуживания /apache_root/example.com

2) http://www.example.com для обслуживания /apache_root/www/example.com ИЛИ /apache_root/example.com/www ИЛИ /apache_root/example.com (любой из них подойдет. Но я нея не хочу использовать редирект ради эффективности).

3) http://abc.example.com должен обслуживаться /apache_root/example.com/abc (по сути, это должен быть каталог внутри / apache_root / example.com)

Теперь начинается сложная часть ::

Все вышеперечисленное может быть достигнуто с помощью перечисленных здесь методов интерполяции имени каталога: http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html#interpol

НО ::

Как позаботиться о том, чтобы example.com на самом деле мог даже быть example.co.in ??

(Для базового каталога, если я использую% 2 + на example.co.in, это даст мне co.in, но я хочу, чтобы example.co.in.% 1 + on http://abc.example.com, предоставил мне abc.example.com в качестве базового каталога вместо example.com, который я хочу).

В принципе, я хочу правило, которое будет работать последовательно для: 1) www.abc.example.com
2) abc.example.com 3) www.abc.example.co.in 4) abc.example.co.in

(Примечание: по-видимому, максимальные уровни в доменном имени составляют 127 http://en.kioskea.net/contents/internet/dns.php3. Это означает, что 0.1.2.3.4.example.com в значительной степени возможен).

ура,

JP

1 Ответ

0 голосов
/ 06 мая 2011

Если у вас есть только 2 домена, вы можете просто 2 VirtualHosts:

<VirtualHost *:80>
  ServerDomain example.com
  ServerAlias *.example.com
  VirtualDocumentRoot /var/www/%-2%-1/%-3+
</VirtualHost>
<VirtualHost *:80>
  ServerDomain example.co.in
  ServerAlias *.example.co.in
  VirtualDocumentRoot /var/www/%-3%-2%-1/%-4+
</VirtualHost>

Вы поняли идею.

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