0

サーバーに1つのIPアドレスがあり、1つのApacheサーバーに別のDocumentRootを使用して2つのドメインを設定したいと思います。これが私がhttpd-vhosts.confで取得したワットです

<VirtualHost *:80>
    DocumentRoot "C:\wamp\www\mail"
    ServerName mail.A.pl
</VirtualHost>

<VirtualHost *:80>
    ServerName B.eu
    DocumentRoot "c:\wamp\www\B"
</VirtualHost>

<VirtualHost *:80>
    ServerName A.pl
    DocumentRoot "c:\wamp\www"
</VirtualHost>

ページを読み込もうとしても:http://www.A.plまたはwww.B.euまたはB.euまたはA.plそれが読み込まれますmail.A.pl。私は何が間違っているのですか?

編集済み

これが新しいhttpd-vhostで、正しいページが読み込まれるようになりましたが、fe for A.plは画像を表示せず、mail.A.plはPOSTデータを送信しません。

NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "C:\wamp\www\mail"
ServerAlias mail.A.pl
    ServerName mail.A.pl
</VirtualHost>
NameVirtualHost *:80
<VirtualHost *:80>
    ServerName B.eu
    ServerAlias *.B.eu
    DocumentRoot "c:\wamp\www\B"
</VirtualHost>
NameVirtualHost *:80
<VirtualHost *:80>
    ServerName A.pl
    ServerAlias A.pl
    DocumentRoot "c:\wamp\www"
</VirtualHost>

EDIT2 助けてくれてありがとう。

最初のVirtualHostを最後に切り替えたところ、ミステリーが機能し始めました:O

4

2 に答える 2

1

NameVirtualHost複数の仮想ホストをマッピングするには、IPアドレス127.0.0.1にマッピングする必要があります。

例えば:

NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
    ServerName localhost
    DocumentRoot 'C:\wamp\www'
</VirtualHost>
<VirtualHost 127.0.0.1>
    ServerName myclient.local
    DocumentRoot 'C:\wamp\www\ClientsMyClient'
</VirtualHost>

このチュートリアルをご覧ください。

于 2012-12-20T17:29:26.400 に答える
1

あなたが持っている必要があることがいくつかあると思います。

1)Apacheの構成ファイルの仮想ホスト行のコメントを解除して、が含まれるようにしますhttpd-vhosts.conf。OSXでは:

# Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

2)必要な行をhostsファイル(http://en.wikipedia.org/wiki/Hosts_(file))に入れます。

127.0.0.1 mail.A.pl
127.0.0.1 A.pl
127.0.0.1 B.pl
127.0.0.1 every.A.pl
127.0.0.1 subdomain.A.pl
127.0.0.1 needs-a-line.A.pl

実際に使用ServerAliasすることはできますが、サブドメインには必要ありません。同様の「メイン」ドメインにのみ必要です。

あなたのhttpd-vhosts.confファイルは大丈夫です。

画像とPOSTが機能しない理由はわかりません。これは、このホストファイルとは何の関係もありません。おそらく別の.htaccessファイルで。

于 2012-12-20T18:28:10.110 に答える