34
  • Wamp2.2サーバーでWindows7を使用しています。
  • 2つの仮想ホストをセットアップしました:www.project1.comwww.project2.com
  • ホスト」 、、、httpd.confおよびhttpd-vhosts.confファイルを、以下で説明する変更に変更しました。

ブラウザを使用して、www.project1.comまたはを入力www.project2.comすると、サーバーがインストールされているラップトップでWebページを正常に開くことができます。

「 hostsファイル」の変更点:ファイルの最後に以下を追加しました:-

127.0.0.1       localhost
127.0.0.1       www.project2.com
127.0.0.1       www.project1.com

ファイルの変更httpd.conf:-

Include conf/extra/httpd-vhosts.conf

ファイルの変更httpd-vhosts:-

NameVirtualHost *:80

<Directory "D:/websites/">
    AllowOverride All
    Order Deny,Allow
    Allow from all
    </Directory>
<VirtualHost 127.0.0.1>
    DocumentRoot "D:/websites/wamp/www/"
    ServerName localhost
</VirtualHost>


<VirtualHost 127.0.0.1>
    DocumentRoot "D:/websites/project1/"
    ServerName www.project1.com
</VirtualHost>


<VirtualHost 127.0.0.1>
    DocumentRoot "D:/websites/project2/"
    ServerName www.project2.com
</VirtualHost>


今; のブラウザ(サーバーを備えたもの)からこれらのWebページを開くことができるので、のブラウザからPC_1これらのWebページにアクセスするにはどうすればよいPC_2ですか?PC_1( LAN経由で接続されているPCを意味します。)

4

5 に答える 5

36

danp の回答に加えて、仮想ホストにポートを割り当てることで、クライアント マシンの etc/hosts ファイルを変更することなく、仮想ホストにアクセスできます。これは、モバイル デバイスまたはタブレット デバイスでサーバーにアクセスする場合に最適です。

  1. サーバーのhttpd.confファイルを次の場所で編集します。

    \wamp\bin\apache\apache2.2.x\conf\httpd.conf
    

    「 」を検索しListenます (61 行目あたり)。次のように表示され、Apache がポート 80 をリッスンできるようになります。

    Listen 0.0.0.0:80
    Listen [::0]:80
    

    次の行を追加して、ポート81(または任意のポート)のリッスンを追加します。

    Listen 0.0.0.0:81
    Listen [::0]:81
    
  2. httpd-vhosts.conf次のファイルを編集します。

    \wamp\bin\apache\apache2.2.x\conf\extra\httpd-vhosts.conf
    

    「Virtual Host」タグを port に変更します81

    <VirtualHost *:81>
        DocumentRoot "D:/websites/project1/"
        ServerName www.project1.com
    </VirtualHost>
    
  3. Apache サーバーを再起動します。

  4. クライアント マシン/タブレット/モバイルの Web ブラウザーで、サーバーの IP アドレス ( 192.168.0.10、または任意の IP) に続いて、次の形式でポート番号を入力します。

    http://192.168.0.10:81
    
于 2015-02-04T03:29:03.627 に答える
24

virtualhost ディレクティブを変更127.0.0.1*:80、Gabriel が述べたように、別のマシンの hosts ファイルにエントリを追加し、サーバーの IP に関連付けるドメインを追加します。

明示的な IP をディレクティブに入れると、apache はその IP でのみリッスンしますが、ワイルドカードは、利用可能なすべての IP にバインドすることを伝えます。

<VirtualHost *:80>
    DocumentRoot "D:/websites/project1/"
    ServerName www.project1.com
</VirtualHost>

たとえば、サーバーが 192.168.1.70 にある場合、LAN 上の他のマシンでは、ホスト エントリは次のようになります。

192.168.1.70     www.project1.com

apache を再起動すると、正常に動作するはずです。

注として、仮想ホストを使用している場合、Apache は、HTTP 要求ヘッダーで渡されたドメインと構成で設定されたサイトとの間で一致を作成できない場合のデフォルトとして最初の定義を使用します。これが、デフォルトの理由です。ページが表示されました。

ディレクティブを使用してすべての IP にバインドするように apache にNameVirtualHost *:80指示しましたが、その外部 IP のサイトをセットアップしませんでした。それが役立つことを願っています!

于 2012-07-05T10:38:41.793 に答える
5

ローカル ネットワークには 2 台のコンピュータがあります。

コンピューター (192.168.1.70) セットアップ (D:\wamp\bin\apache\Apache2.2.11\conf\extra\httpd-vhosts.conf):

<VirtualHost *:80>
    DocumentRoot "D:/websites/project1/"
    ServerName www.project1.com
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "D:/websites/project2/"
    ServerName www.project2.com
</VirtualHost>

B コンピューターのセットアップ (c:/windows/system32/drives/etc/hosts):

192.168.1.70    www.project1.com
192.168.1.70    www.project2.com

B アクセス A,私のプロジェクトは動いています。

于 2014-02-23T06:34:02.157 に答える
0

ページを表示しようとしているマシンのhostsファイルを変更する必要があります。

したがって、それらを他のLANマシンのhostsファイルに追加する必要があります。

于 2012-06-28T13:02:59.093 に答える