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>
その他
今までは先にドメインをあてて、サイトが増えてきたらディレクトリを作ってそこをバーチャルホスト設定していたので、本件のようなことは起こらなかった。ただ、そういうやり方だと後でディレクトリを整理するのが難儀になるので、今回のケースは覚えておく。
関連記事
-
日本語込みのURLをRewriteRuleで書き換える方法
WordPressのパーマネントリンク的なことをhtaccessで実現したい。具 ...
-
htaccessファイルで海外からのアクセスをIP制限する方法
「サーバー立てたらすぐ攻撃が来る」と聞いたのでアクセスログを確認したところ、海外 ...
-
htaccessを置いてあるフォルダのファイルを参照
曖昧だけどhtaccessでベーシック認証とかIP制限かかってる フォルダ内のプ ...
-
他ドメインから画像の呼び出し(直リンク)を禁止する方法
他ドメインからの画像の呼び出し、いわゆる直リンクの禁止を行いたかった。調べるとh ...
-
firebugで「CORS を有効にすると解決できます」と表示される際の対応方法
Aサーバーにjsとかcssとか画像とかを置いて、Bサーバーで呼び出す際にちゃんと ...