1

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 である可能性があるという事実にどう対処するのですか??

(ベースディレクトリの場合、example.co.in で %2+ を使用すると co.in が返されますが、example.co.in が必要です。http://abc.example.comで %1+ を使用すると、私が欲しいexample.comの代わりにベースディレクトリとしてabc.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

4

1 に答える 1

-1

ドメインが 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>

あなたはアイデアを得る。

于 2011-05-05T22:39:10.673 に答える