2016-05-12 18 views
0

私は自分のコンピュータに複数のWebサイトをホストしたいと思います。私はWAMPサーバーでWindowsを使用しています。私は既にドメインを持っており、それらをIPにマップする方法を知っています。 仮想ホストを許可するためにhttpd.confファイルを編集しました。WAMPサーバーを使用してVirtualHostを設定する際の問題

私のhttpd-バーチャルホストファイルは

<VirtualHost *:80> 
    DocumentRoot "C:/wamp64/www" 
    ServerName localhost 
    ServerAlias localhost 
    <Directory "C:/wamp64/www"> 
     AllowOverride All 
     Require local 
    </Directory> 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot "C:/wamp64/www/testcase" 
    ServerName test.mydomain.com 
    <Directory "C:/wamp64/www/testcase"> 
    Options Indexes FollowSymLinks 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
    Require all granted 
    </Directory> 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot "C:/wamp64/www/test2" 
    ServerName test2.mydomain.com 
    <Directory "C:/wamp64/www/test2"> 
     Options Indexes FollowSymLinks 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
     Require all granted 
    </Directory> 
</VirtualHost> 

問題は、両方の私のドメインが、こののVirtualHostタグでのみ最初のサイトを開くことで、このようになります。 例:この場合、両方のドメインでWAMPサーバー設定ページが開きます。 "testcase"タグを他のものの上に移動すると、両方のドメインで "testcase"ページが開きます。

更新: 私のサブドメインは、サーバで開いたときに対応するページを正常に表示します。しかし、別のマシンでサブドメインを開くと、VHの最初のエントリが開きます。

更新2:これはわかりました。私はWAMPが私の紅茶ではないかもしれないと思った。だから、私はXAMPPをインストールし、VH構成に変更を加えたが、同じ問題で終わった。そこで私はXAMPPも取り除き、WAMPDeveloper Proをインストールしました。ソフトウェアがあなたのためにすべての設定ファイルを設定するとき、何がうまくいかないでしょうか?しかし、驚いたことに、私はまだ同じ問題を抱えています。私はそれらを(実際のドメイン名を使用して)サーバー自体で開くと、ウェブサイトはうまく動作しますが、ネットワーク外のマシンでそれらを開くと、私が開いているすべてのドメインに対して最初のVHエントリが開きます。

誰でもお手伝いできますか? ありがとう!

答えて

0

Apache2.2とApache2.4の両方の構文を使用すると、Apacheは混乱します。私はあなたには、Apache 2.4の変更この

<VirtualHost *:80> 
    DocumentRoot "C:/wamp64/www/testcase" 
    ServerName test.mydomain.com 
    <Directory "C:/wamp64/www/testcase"> 
    Options Indexes FollowSymLinks 
    AllowOverride All 

    Require all granted 
    </Directory> 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot "C:/wamp64/www/test2" 
    ServerName test2.mydomain.com 
    <Directory "C:/wamp64/www/test2"> 
     Options Indexes FollowSymLinks 
     AllowOverride All 

     Require all granted 
    </Directory> 
</VirtualHost> 

なぜアパッチにVHのDEFSを実行していると仮定して

ので、この場合は最初のサイト、すなわちローカルホストを開きます。

ApacheがVH defを理解できない場合、Apacheは無視し、デフォルトでhttpd-vhosts.confファイルで正しく定義された最初の仮想ホストを読み込みます。もちろん

あなたはまた、これらのドメイン名

127.0.0.1 localhost 
127.0.0.1 test.mydomain.com 
127.0.0.1 test2.mydomain.com 

::1 localhost 
::1 test.mydomain.com 
::1 test2.mydomain.com 
+0

こんにちはRiggsFollyを含めるようにc:\windows\system32\driverrs\etc\hostsファイルを修正するためにあなたの答えをありがとうが必要になります!送信した構文を使用しようとしましたが、それでも動作しません。どちらのドメインも、一番上のVirtualHostエントリのみを表示しています。そして、はい、私はApacheバージョン2.4を使用しています。 –

+0

HOSTSファイルの要件についての注意を参照してください。あなたはこれらのファイルを既に所有していると仮定しましたが、そうではないかもしれません。 – RiggsFolly

+0

はい、ホストファイルが正しく設定されています。しかし、それでも動作しません。他に提案はありますか? –

関連する問題