VirtualHostを設定しIPアドレスでもアクセスしたい
2024/02/25
apacheでVirtualHostを設定しつつ、IPアドレスでもアクセスしたかった。以下に状況と解決策をメモ。
状況
それぞれのドキュメントルートを以下のように設定したい。
- IPアドレスでのアクセス「/var/www/html」
- バーチャルホストで設定したアクセス「/var/www/html/hoge」
しかしながら上記で設定し、IPアドレスの方でアクセスすると「/var/www/html/hoge」を読み込んでしまう。
原因
VirtualHostを設定すると1件目がサーバーのデフォルトの設定になるらしい。
対策
1件目に設定したいドキュメントルートで記述しておく。以下が例。
#IPアドレスでアクセスしてくる方
<VirtualHost *:80>
ServerName any
DocumentRoot /var/www/html
ErrorLog logs/error_log
CustomLog logs/access_log common
</VirtualHost>
#ドメインあてる方
<VirtualHost *:80>
ServerAdmin hogehoge.com
DocumentRoot /var/www/html/hoge
ServerName hogehoge.com
ErrorLog logs/error_log
CustomLog logs/access_log common
</VirtualHost>
その他
今までは先にドメインをあてて、サイトが増えてきたらディレクトリを作ってそこをバーチャルホスト設定していたので、本件のようなことは起こらなかった。ただ、そういうやり方だと後でディレクトリを整理するのが難儀になるので、今回のケースは覚えておく。
関連記事
-
-
htaccessファイルでダイジェスト認証を行う方法
何かで調べ物をしていたときにdigest認証というものを見かけた。basic認証 ...
-
-
htaccessファイルにて特定のIPの場合のみBasic認証無し、その他の場合はBasic認証有りにする方法
開発中の環境で指定したIPからのアクセスはBasic認証無しに、それ以外のアクセ ...
-
-
特定ディレクトリ以下のBasic認証を無効化する方法
Basic認証を設定しているサイトがあり、そちらを解除したかった。通常の場合だと ...
-
-
.htaccessでURLの末尾のphpという拡張子が無い場合でもページを表示させる方法
「/hoge/test.php」のようなディレクトリ・ファイル名の場合は「htt ...
-
-
htaccessファイルにてVPS⇔レンタルサーバ間のリバースプロキシ設定を行う方法
VPSの指定したディレクトリにアクセスした場合、レンタルサーバの指定したディレク ...