サブドメインが設定したドキュメントルートと異なる方に向いてしまう

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,247

akkkkin

score 77

掲題の件dえご相談です。

取得したサブドメイン「demo.example.com」が

DocumentRoot /var/www2/htmlのindex.htmlに
向いてしまうのは何故でしょうか?

下記が設定したhttpd.confファイルです。

~中略~
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
#DocumentRoot "/var/www/html"

#
# Relax access to content within /var/www.
#
<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

<Directory "/var/www2">
AllowOverride All
Require all granted
</Directory>

<VirtualHost *:80>
ServerName <IPアドレス>
DocumentRoot /var/www2/html
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /var/www/html/hogehoge
ServerName hogehoge.com
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /var/www/html/sample
    ServerName demo.hogehoge.com
</VirtualHost>
# Further relax access to the default document root:

<Directory "/var/www/html">
    # or any combination of:

    ~中略~

追記

■httpd -Sの結果

VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server <IPアドレス> (/etc/httpd/conf/httpd.conf:135)
         port 80 namevhost <IPアドレス> (/etc/httpd/conf/httpd.conf:135)
         port 80 namevhost hogehoge.com (/etc/httpd/conf/httpd.conf:140)
         port 80 namevhost demo.hogehoge.com (/etc/httpd/conf/httpd.conf:145)
ServerRoot: "/etc/httpd"
Main DocumentRoot: "/etc/httpd/htdocs"
Main ErrorLog: "/etc/httpd/logs/error_log"
Mutex rewrite-map: using_defaults
Mutex authdigest-client: using_defaults
Mutex proxy: using_defaults
Mutex authn-socache: using_defaults
Mutex default: dir="/run/httpd/" mechanism=default
Mutex mpm-accept: using_defaults
Mutex authdigest-opaque: using_defaults
Mutex proxy-balancer-shm: using_defaults
PidFile: "/run/httpd/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="apache" id=48 not_used
Group: name="apache" id=48 not_used

■configtestの結果
Syntax OK

■apachectl configtestの結果

*:80                   is a NameVirtualHost
         default server ほげほげ.com (/etc/httpd/conf/httpd.conf:130)
         port 80 namevhost ほげほげ.com (/etc/httpd/conf/httpd.conf:130)
         port 80 namevhost ほげほげ2.com (/etc/httpd/conf/httpd.conf:135)
*:443                  ほげほげ.com (/etc/httpd/conf.d/ssl.conf:56)
ServerRoot: "/etc/httpd"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/etc/httpd/logs/error_log"
Mutex ssl-stapling: using_defaults
Mutex proxy: using_defaults
Mutex authn-socache: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/run/httpd/" mechanism=default
Mutex mpm-accept: using_defaults
Mutex authdigest-opaque: using_defaults
Mutex proxy-balancer-shm: using_defaults
Mutex rewrite-map: using_defaults
Mutex authdigest-client: using_defaults
PidFile: "/run/httpd/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="apache" id=48
Group: name="apache" id=48

ご教示いただけますとありがたいです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • A.Ichi

    2016/12/20 19:09

    バーチャルホストが指定されているのですね、失礼いたしました。

    キャンセル

  • Y.H.

    2016/12/22 18:09 編集

    例示に使用するドメイン(FQDN)は、存在しないことが保証されている example.com, example.jpなどを使用しましょう。(と何度かコメントした記憶が・・・) 実在するドメインを使用されている場合、宣伝と誤認されたり、ドメインの所有者から苦情が寄せられる可能性もあります(この場合適切に対処する覚悟を持って使用されてますか?)。

    キャンセル

  • akkkkin

    2016/12/22 18:19

    Y.H.様承知しました。修正しました。ご指摘ありがとうございます。

    キャンセル

回答 1

checkベストアンサー

+1

CentOS7、Apache 2.4.6でディレクトリ構成とhttpd.confの記載内容・記載順も質問文に合わせて試してみました。
結果再現せず、つまり指定したドメイン名に沿ってコンテンツが出し分けられてます。

・クライアントのブラウザのURL欄に"http://<ipaddr>/"と入力 → /var/www2/html/index.htmlの内容が表示。
・クライアントのブラウザのURL欄に"http://hogehoge.com/"と入力 → /var/www/html/hogehoge/index.htmlの内容が表示。
・クライアントのブラウザのURL欄に"http://demo.hogehoge.com/"と入力 → /var/www/html/sample/index.htmlの内容が表示。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/12/22 18:04

    回答ありがとうございます。もう一度削除して実行してみたらうまくいきまいした!お手数おかけしました。

    キャンセル

  • 2016/12/22 18:13

    前トピックもそうですけど、全角スペースとか入るのでしょうか?
    ともあれ解決したなら何よりです。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.22%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる