ローカルサーバでPHPのテストはしたいけど、外からアクセスされたときは違うページを表示したい場合、ApacheならVirtualHostを使えば「localhost」でアクセスした時とDDNSで取得したドメインなどでアクセスした時に表示するページを変えることが出来る。
<VirtualHost *>
ServerAdmin webmaster@foo.com
DocumentRoot "C:/server/http/foo"
ServerName www.foo.com
</VirtualHost>
<VirtualHost *>
DocumentRoot "C:/server/http/test"
ServerName localhost
</VirtualHost>
ここでは外部に公開するファイルを「C:/server/http/foo」にテスト環境を「c:/server/http/test」に置いてある。
ローカルでテスト中のスクリプトはセキュリティホールが有ったりするので出来るだけ外からアクセスされないようにしておきたい。もちろんローカル以外からのアクセスを弾いてもかまわないが、外は外でHTTPサーバを立てている意味がある場合(IRCでDCCが使えない時などはHTTPで落としてもらえば簡単だ)も有るだろう。
直接IPでアクセスされたときなどServerNameに合致するものが無い場合は1番上の条件に当てはめられるのでlocalhostは1番最後に書いておくと良い。
連絡先、リンク、転載や複製などについては「サイト案内」をご覧ください。