• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:バーチャルドメインの参照先振り分け設定について)

バーチャルドメインの参照先振り分け設定について

このQ&Aのポイント
  • バーチャルドメインの参照先振り分け設定について説明します。
  • htaccessファイルを使って、複数のアドレスの参照先を別々に設定する方法について質問しています。
  • 他の方の情報を元に試してみましたが、うまくいかないため、質問をしています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.7

こんにちは。 連投で済みません・・・。 RewriteBase / ですね・・・多分・・・。

ken-suke
質問者

お礼

度々ありがとうございます。 RewriteBaseを入れても、状況に変化ありません。 瞬間的に index.htmlの内容が表示されてしまう。 どっちにアクセスしても、単にDocumentRootのindex.htmlに繋がっているっていうことですよね。難しいです。

ken-suke
質問者

補足

遂にできました! RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} ^www\.ABC***\.com [NC] RewriteRule ^$ index.html [L] RewriteCond %{HTTP_HOST} ^www\.XYZ***\.com [NC] RewriteRule ^$ sub/index.php [L] 試しに RewriteRuleの / をそれぞれ抜いてみたら、やっと機能しました。 感動も一入! takaさんには、長い間お付き合いいただきまして、 大変感謝しております。 周りに頼れるものが居らず、ここへ来て初めての質問でしたので、 本当に心強かったです。 ありがとうございました!

その他の回答 (6)

回答No.6

こんにちは。 >RewriteLogの出力は、httpd.confで設定する以外の方法が何かありますかね。 そうでした・・・。 書けませんね、失礼しました・・・。 RewriteBaseを指定してみてはどうでしょう・・・? つまり、 RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.ABC***\.com [NC] RewriteRule ^/$ /index.html [L] ← パスの解決ができているか、たまたま上手くいっているように見えるだけ・・・。 RewriteCond %{HTTP_HOST} ^www\.XYZ***\.com [NC] RewriteRule ^/$ /sub/index.php [L] ← 解決できないので、DocumentRootのindex.htmlが表示される。 という感じですが・・・。 RewriteBase /virtual/www でどうかなぁ・・・。

回答No.5

こんばんは。 エラーにはなっていないので、mod_rewrite自体は動作していると思います・・・。 RewriteLogを適当なところに出力してみては?

ken-suke
質問者

お礼

お礼が週明けになりました。ありがとうございました。 RewriteLogの出力は、httpd.confで設定する以外の方法が何かありますかね。 知識不足で申し訳ありません。調べてみます。

回答No.4

こんにちは。 >しかし残念なんですが、これを設定して、 >www.XYZ***.com にアクセスしても >www.ABC***.com が開いてしまう状況なんです。 おかしいですね・・・。 Rewrite側では[R]を指定していないので、ブラウザのアドレス欄は変わらないはずです。 この指定でアドレス自体が変わるのなら、それ以外にリダイレクトしているところがあるはずです。 そもそも、ドメインをListenするように設定していると思いますが、そこを見直さなければいけません。

ken-suke
質問者

お礼

ごめんなさい。正しい言い方で伝えられていませんでした。 >RewriteEngine on >RewriteCond %{HTTP_HOST} ^www\.ABC***\.com [NC] >RewriteRule ^/$ /index.html [L] >RewriteCond %{HTTP_HOST} ^www\.XYZ***\.com [NC] >RewriteRule ^/$ /sub/index.php [L] このように設定しても、www.XYZ***.comでアクセスしたときに、 www.ABC***.com/index.html の内容が表示されています。 (アドレスバーには www.XYZ***.com/ のまま表示されています。) こちらでイジレない httpd.conf で何か設定されている場合、 .htaccessでの設定は無効なのでしょうか。 根本的に.htaccessでは制御できないのでは? という疑問が浮かび上がっています。 サーバー会社にも、もう一度問い合わせしてます。 ありがとうございます。

回答No.3

こんばんは。 んじゃ、 RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.ABC***\.com [NC] RewriteRule ^/$ /index.html [L] RewriteCond %{HTTP_HOST} ^www\.XYZ***\.com [NC] RewriteRule ^/$ /sub/index.php [L] でよろしいかと・・・。 2.に関しては、index以外のページはどうなの?という質問でした・・・。

ken-suke
質問者

お礼

引き続きありがとうございました。 お礼遅くなってすいませんでした。 やはり、こういう書き方で~ しかし残念なんですが、これを設定して、 www.XYZ***.com にアクセスしても www.ABC***.com が開いてしまう状況なんです。 サーバー会社の人はhtaccessで制御可能とだけ言ってましたが、 他に何かのファイルをイジる必要があるんですかね... なかなか難しいですね。

回答No.2

こんにちは。 >httpd.confはレンタルサーバーのため触れないみたいなんです。 あらそ・・・。 じゃぁ、mod_rewriteを使わないと仕方ないですね・・・。 もうちょっと補足して頂けますか? 両方のアドレスについて、具体的に、 1.ブラウザのアドレス欄には、どのように表示させたいのか? (index.htmlやindex.phpまで表示するとか・・・) 2.index以外はどこに向けるのか? 書き方をちょっと変えるだけで、結果が全然違ってきますので・・・。

ken-suke
質問者

お礼

1につきましては、ブラウザのアドレス欄にそれぞれ http://www.ABC***.com/ http://www.XYZ***.com/ までがベストです。 2は、index以外のファイルにアクセスがあったとき、どうするかという意味ですかね? その場合、トップページに飛ばすとかそういう設定は不要です。 (内容を履き違えていたらごめんなさい。) 色々とありがとうございます。

回答No.1

こんにちは。 えーと・・・、 www.XYZ***.com でアクセスされた時に、アドレス欄は http://www.XWZ***.com/sub/index.php で、実際に表示するファイルは http://www.ABC***.com/sub/index.php という事でよろしいんですかね? 別にmod_rewrite使わんでもいいような気が・・・。 <VirtualHost *:80> ServerName www.ABC***.com DocumentRoot /よーわからん/www DirectoryIndex index.html </VirtualHost> <VirtualHost *:80> ServerName www.XYZ***.com DocumentRoot /よーわからん/www/sub DirectoryIndex index.php </VirtualHost> だって、XYZのドキュメントルートがsubフォルダになるんでしょ?

ken-suke
質問者

お礼

早速のご回答ありがとうございます。 質問の意図、正しくご理解いただけているようです。 www.XYZ***.com でアクセスされた時に、アドレス欄は http://www.XWZ***.com/sub/index.php で、実際に表示するファイルは http://www.ABC***.com/sub/index.php という事でよろしいんですかね? → その通りです! ご提案していただいている記述は、.htaccessではなく、httpd.confファイルに書き込むものでしょうか?(httpd.confはレンタルサーバーのため触れないみたいなんです。)ちなみに「よーわからん」部分はvirtualです。 補足 サーバーOS:Linux 2.6 WEBサーバー:Apache 2.2 引き続き、悩み中です。どうぞよろしくお願い致します。

関連するQ&A