Vhosts について調べてみると、これが非常に一般的で簡単なことであることがわかります。以下は、私自身の Linux 開発マシンに基づく例です。この構成を使用すると、Apache は ServerName をブラウザの URL に一致させようとします。test.domain.com を入力すると、テスト サイトと一致し、サイトへのアクセスが許可されている IP がチェックされます。その IP と一致しない場合、Apache は「このディレクトリの表示は許可されていません」というエラーを返します (401 または 403 http コード。どちらか不明)。一致するものが見つからない場合、Apache は最初の Vhost を使用するため、prod-site を最初に使用する必要があります。
警告: Apache はブラウザーで URL を使用して照合を行うため、ホスト ファイルを編集すると、Apache をだますことができます。その後、IP のスプーフィングに成功すると、開発サイトにアクセスできます。したがって、損傷を防ぐために、TEST サイトと DEV サイトの両方で常に適切なログイン/認証および承認手順を使用してください。
<VirtualHost *:80>
ServerName domain.com, www.domain.com
DocumentRoot /home/prod/document_root
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName dev.domain.com
DocumentRoot /home/dev/document_root
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from "localhost"
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName test.domain.com
DocumentRoot /home/test/document_root
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from "Some IPs"
</Directory>
</VirtualHost>