人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

httpd.confでのエイリアスの設定が効きません。
ソースは以下の通りです。(xxxxxは実際のドメインと異なります)

NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.xxxxx.jp
ServerAlias xxxxx.jp *.xxxxx.jp
DocumentRoot "/var/www/html/xxxxx"
</VirtualHost>

www.xxxxx.jp はブラウザで表示されますが、xxxxx.jp や test.xxxxx.jp は「見つかりませんでした」とエラーになります。
DocumentRootの設定は有効なので、httpd.conf全体が無効になっているということは
ありません。何が問題と思われますか?
憶測で結構ですのでアドバイスいただけると幸いです。
ズバリ的中した方には300ポイント進呈します。

●質問者: hhashimo
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● だわかき
●200ポイント

httpd.conだけでなく、DNSの設定を行う必要があります。

もちろん思いつきの名前を作って、 ServerName や ServerAlias にその名前を書くといったことはできません。まずは、 これらの名前が サーバに付けられた IP アドレスにマップされるように DNS サーバを適切に設定しなければなりません。
http://httpd.apache.org/docs/2.0/ja/vhosts/name-based.html


DNSの設定はネームサーバによって異なりますが、基本的にはAレコードにホスト名とIPアドレスを記述します。
下記サイトを参考にして下さい。
http://www.xserver.ne.jp/manual/man_domain_dns_setting.php


hhashimoさんのコメント
ご回答ありがとうございます。 DNSの設定は済んでいますので、www.xxxx.jpについては正常に表示されます。 DNSの設定に何か問題があることで、ServerAlias が無効になるということがあるのでしょうか?その線も疑っていますが、DNSの設定にも問題が見当たりません。

hhashimoさんのコメント
どうも*.xxxxx.jp や xxxxx.jpについてもDNSに設定しておかないといけないようですね。*.xxxxx.jpの*の部分は入力が必須のため、ドメインのみのxxxxx.jpについて設定のしようがないと思っていましたが、これも @ を入力すること設定可能のようです。 まだ反映されていませんが、しばらく様子を見てみます。

hhashimoさんのコメント
お陰様で解決しました。ホスト名の入力が必須というのは勘違いで、未入力でも良かったようです。DNS設定について指摘して頂いたので、設定を見直すきっかけとなりました。ありがとうございます。もっともワイルドカードやホスト名がない場合も設定の必要があることの示唆がありませんでしたので、ズバリ賞の300ptは見送らせて頂きます。

2 ● JULY
●300ポイント ベストアンサー

単純に、xxxxx.jp や test.xxxxx.jp の名前解決ができていない、という話は無い?

例えば、クライントから「ping xxxx.jp」としたらどうなります? もし、クライアントの OS が Windows であれば、

ping 要求ではホスト xxxx.jp が見つかりませんでした。ホスト名を確認してもう一度実行してください。

と表示されているのであれば、名前解決の問題です。最終的には DNS サーバので xxxx.jp に対して IP アドレスが解決できるようにする必要があります。テスト目的であれば、クライアント側の hosts ファイル に記述することで、とりあえず Web サーバの設定として正しいかは確認できます。


hhashimoさんのコメント
pingを打てばそうなりますが、www.xxxx.jpは表示されてますので名前解決は されていると思います。 エイリアスの問題だと思います。httpd.conf以外にエイリアスに影響するものあるのなら、それが原因と思いますが、DNS設定に問題もなく、思い当たりません。 なお、DNSのAレコードにtest.xxxxx.jpを設定すれば、表示されます。 しかし、それは私のやりたいことではありません。 testというのはあくまで例であり、私がやりたいのは、testの部分が他の文字列であったり、test.がなくてもxxxxx.jpにアクセスするようにすることです。

JULYさんのコメント
> pingを打てばそうなりますが、 ということはやっぱり DNS の問題ですよ。 ちょっと整理すると、www.xxxx.jp では正常に表示されるけど、xxxx.jp では表示されなく、かつ、ping xxxx.jp とすると、前述の「ping 要求ではホスト xxxx.jp が見つかりません」となる状態なんですよね。 おそらく、xxxx.jp に対して A レコードが設定されていないと思います。ドメイン名そのものにも A レコードを設定しないと、そもそも、xxxx.jp に対応する IP アドレスがクライアント側は分かりません。 DNS サーバにどんな物を使っているか分かりませんが、典型的な BIND のゾーンファイルの形式で書くと、 @ IN SOA ns.xxxx.jp. root.xxxx.jp. ( 2013070200 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 1800 ) ; Minimum IN NS ns.xxxx.jp. IN A 192.168.1.1 IN MX 10 mail.xxxx.jp. といった記述になります。この「IN A 192.168.1.1」の部分で、xxxx.jp に対する A レコードを設定していることになります。

hhashimoさんのコメント
どうも*.xxxxx.jp や xxxxx.jpについてもDNSに設定しておかないといけないようですね。*.xxxxx.jpの*の部分は入力が必須のため、ドメインのみのxxxxx.jpについて設定のしようがないと思っていましたが、これも @ を入力すること設定可能のようです。 まだ反映されていませんが、しばらく様子を見てみます。

JULYさんのコメント
あっ、半角スペースが端折られるからわかりづらくなっている。 @ IN SOA ns.xxxx.jp. root.xxxx.jp. ( 2013070200 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 1800 ) ; Minimum IN NS ns.xxxx.jp. IN A 192.168.1.1 IN MX 10 mail.xxxx.jp. こうすると、分かりやすいかな。

hhashimoさんのコメント
ありがとうございます。DNS設定はレンタルサーバ会社の管理パネルから行っているので、その書式との対応は不明ですが、先頭に@があるのは何か関係ありそうな気がしています。

hhashimoさんのコメント
お陰様で解決しました。ホスト名の入力が必須というのは勘違いで、未入力でも良かったようです。DNS設定について指摘して頂いたので、設定を見直すきっかけとなりました。ありがとうございます。最終的にワイルドカードを使う場合やホスト名がない場合もDNS設定の必要があることを示唆して頂いたのでズバリ賞の300ptを送らせて頂きます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ