0

Mac OS X (Snow Leopard) マシンで Apache を実行しています。複数のサイトを同時に開発およびテストできるように、複数のホスト名を設定できるようにしたいのですが、これを機能させることができないようです。

これが私が試したことです:

設定した etc/hosts ファイルに、次のエントリを追加しました。

127.0.0.1    testsite1.localdev.com
127.0.0.1    testsite2.localdev.com

次に、apache2/httpd.conf に次のエントリを追加しました。

<VirtualHost *:80>
   DocumentRoot /Library/WebServer/Documents/www/development/testsite1
   ServerName testsite1.localdev.com
   <Directory "/Library/WebServer/Documents/www/development/testsite1">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

<VirtualHost *:80>
   DocumentRoot /Library/WebServer/Documents/www/development/testsite2
   ServerName testsite2.localdev.com
   <Directory "/Library/WebServer/Documents/www/development/testsite2">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

しかし、両方のホスト名が httpd.conf ファイルにリストされている最初のホスト名 (この場合は testsite1) に解決されることがあります。位置を切り替えると、両方とも testsite2 に解決されます。

また、*:80 を読み取る領域を変更して、それを各サイトの特定のホスト名に置き換えようとしましたが、効果はありません。

変更するたびに必ずApacheを再起動します。

助けてくれてありがとう!

ゲイリー

4

1 に答える 1

1
  • /etc/apache2/httpd.conf で、次のように vhost ファイルのコメントを外します。

    # Virtual hosts
    Include /private/etc/apache2/extra/httpd-vhosts.conf
    
  • /private/etc/apache2/extra/httpd-vhosts.conf で使用...

    #
    # Use name-based virtual hosting.
    #
    NameVirtualHost *:80
    
    <VirtualHost *:80>
        DocumentRoot "/Library/WebServer/Documents"
        ServerName localhost
    </VirtualHost>
    
    # local test site
    <VirtualHost *:80> 
      <Directory /Users/<youruser>/Sites/test>
        AllowOverride All 
      </Directory> 
      DocumentRoot "/Users/<youruser>/Sites/test"
      ServerName test.local
    </VirtualHost>
    
  • および Sites フォルダーに 755 のアクセス許可があることを確認してください

必ず /etc/hosts ファイルに追加してください...

# test
127.0.0.1   test.local
于 2011-05-26T20:00:12.310 に答える