これまで、Apache で名前ベースの仮想ホスティングを使用してきました。最近、Web サイトを SSL に変換したため、IP ベースのルートを使用する必要がありました。その結果、現在、インスタンスは次のように設定されています。
- www.domain.com ポート80を使用
- dev.domain.com はポート 8080 を使用します
どちらも同じ IP を使用します。このシナリオは Drupal のマルチサイト機能を使用して可能ですか? dev.domain.com は機能し、正しい「dev」データベース (dev 設定を使用) を読み取りますが、代わりに「www」サイトからテーマ ファイルを読み取ります。これは、私たちが望んでいることではありません。
原因は開発の htaccess ファイルでしょうか? Apache は 8080 でリッスンしており、適切な DB 設定を使用していますが、正しいテーマ ファイルを使用していません。もう 1 つ注意点があります。dev.domain.com:8080 を参照すると、「ページが正しくリダイレクトされていません」というエラーが表示されます。開発 Web サイト用に新しい IP アドレスを購入するだけでよいのでしょうか、それともそれでも解決しないのでしょうか?
アドバイスをいただければ幸いです。ありがとうございます。
答え1
各 VirtualHost スタンザの ServerName ディレクティブでポートを指定してみましたか?
答え2
お金を払うのであれば、もっと良い解決策があるかもしれません。*.domain.com のワイルドカード証明書を購入してください。
価格は年間 150 ~ 200 ドル程度だと思います。これで問題は解決するでしょう。
それをしたくない場合は、htaccessを編集して、ポートをより一般的に処理することができます。
答え3
dev.domain.com はずっと www.domain.com だけを見ていて、dev.domain.com ではなくそこから正しい DB 構成ファイルを読み取っていたことが判明しました。これは、dev.domain.com が読み取られる .conf ファイルの順序の問題でした。後.conf 命名スキームによる www.domain.com。domain1-dev.conf の名前を dev-domain1.com に変更したところ、dev.domain.com が www.domain.com よりも先に読み込まれるようになり、すべてがうまく動作するようになりました。これは、包括的なものです。
これはポートや Apache の VirtualHost 設定以外のものとは関係ありません。読み取り順序を決定するために使用したのは次のとおりです。
$PATH_TO_APACHE_DIR/bin/httpd -S