2011-01-26 1 views
0

私はWebサーバー関連のもので初心者です。サブドメインはApacheでホストしています

私はすでに、私もまたwww.example.comと同じ振る舞いを持つことになり、サーバー上test.example.comをホストするドメインwww.example.com

での作業サーバーを持っています。つまり、test.example.comへのすべてのリクエストをstart.phpファイルにマップする必要があります。

また、ドメイン名はtest.example.comのままでなければなりません。つまり、test.example.comからwww.example.comにリクエストをリダイレクトしたくありません。

どうすればよいですか?

答えて

3

解決策はname-based virtual hostです。

具体的には、仮想ホストを設定して特定のホスト(この場合はサブドメインによって識別される)へのリクエストを特定のディレクトリに転送する必要があります。その後、要求をstart.phpに書き換えます。

<VirtualHost *> 
ServerName mysub.domain.tld 
DocumentRoot /www/vhosts/http/mysub.domain.tld 

RewriteEngine On 
RewriteRule ^(.*)$ start.php [L] 
</VirtualHost> 

置き、このApacheの設定ファイル内またはsites-availableディレクトリ内の別々のファイルに、a2ensiteを経由して、それを可能にします。このファイルがdomain.tldの前にロードされていることを確認してください。そうしないと、Apacheはdomain.tldのパスを認識し、mysub.domain.tldを忘れてしまいます。

Apacheを再起動してください。

+0

私のDNSレジストラでAレコードを追加する必要がありました。 – chelmertz