0

のようなサブドメインとしてユーザー名を使用して、自分のサイトにブログを実装したいと考えていますuser1.domain.com
DNSで以下のようなAレコードを作成するために言及された記事の束を読みました:

*.domain.com A 127.0.0.1 ;OR you site ip address

次に、.htaccess を使用して、リクエストをサブドメインからサーバー内のフォルダーにリダイレクトします。

しかし、次のように httpd.conf を変更するだけと言われている別のアプローチを見つけました。

<VirtualHost *:80>
        DocumentRoot /abs/path/to/webroot
        ServerName   domainname.com
        ServerAlias *.domainname.com
        <Directory /abs/path/to/webroot>
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>
</VirtualHost>

次に、 を介してサブドメインを取得します$_SERVER['HTTP_HOST']。問題は、なぜ誰かが htaccess を使用して apache に圧力をかけ、DNS レコードを作成する必要があるのか​​ということServerAlias *.domainname.comですhttpd.conf
ご意見をお待ちしております。

4

2 に答える 2

2

httpd.conf任意のサブドメインのホスティングを有効にするには、ワイルドカードDNSレコードを設定し、サーバーエイリアスを構成する必要があります。それらは完全に異なるものを構成します。

ワイルドカードDNSレコードを追加すると、クライアントはサブドメインのIPアドレスを判別できます。ワイルドカードを使用すると、DNSレコードuser1.domain.comはに解決され127.0.0.1ます。DNSレコードuser1.domain.comがない場合、noは有効な名前ではなく、IPアドレスに解決されません。DNSレコードは、クライアントがサーバーに接続できるようにするためのものです。

設定はhttpd.confApacheサーバーに対してローカルです。クライアントには影響しません。この行ServerAlias *.domainname.comは、任意のサブドメインを処理するようにApacheに指示するように構成します。クライアントは、この設定によって直接影響を受けることはありません。

于 2012-06-08T06:30:31.887 に答える
2

を追加しましたServerAliasが、コンピュータがそれを見つけてuser1.domain.com解決user2.domain.comする必要がある場合は、ファイルまたは127.0.0.1を更新する必要があります。HOSTSDNS Table

作成した構成は、ユーザーがドメインを要求したときにリダイレクトを処理するためのApacheサーバー用です。したがって、基本的には、サーバーに解決されるDynamic HOSTSファイルまたはサービスが必要です。*.domain.com127.0.0.1

お役に立てれば。:)

于 2012-06-08T06:27:22.757 に答える