В прошлом мы использовали виртуальный хостинг на основе имени в Apache. Недавно мы перевели веб-сайты на SSL и должны были пойти по пути на основе IP. В результате в настоящее время у нас есть экземпляр, настроенный следующим образом:
- www.domain.com использует порт 80
- dev.domain.com использует порт 8080
Оба используют один и тот же IP. Возможен ли такой сценарий с использованием многосайтовой функциональности Drupal? Хотя мы обнаружили, что dev.domain.com работает и считывает правильную базу данных "dev" (используя настройки dev), вместо этого он считывает файлы темы с сайта "www", что не то, что нам нужно.
Является ли причиной файл htaccess разработчика? Apache прослушивает порт 8080 и использует правильные настройки БД, но не правильные файлы темы. Еще одно замечание: просмотр dev.domain.com:8080 выдает ошибку: "Страница не перенаправляется должным образом". Стоит ли нам просто купить новый IP-адрес для веб-сайта разработчика или это все равно не поможет?
Буду признателен за любые советы. Спасибо.
решение1
Пробовали ли вы указать порт с помощью директивы ServerName для каждой строфы VirtualHost?
решение2
Возможно, есть лучшее решение, если вы готовы за это заплатить. Купите wild card сертификат для *.domain.com
Я думаю, что цены будут около 150-200 за год. Это прояснит ваши проблемы.
Если вы не хотите этого делать, вы можете отредактировать свой htaccess, чтобы он был более универсальным для обработки портов.
решение3
Оказывается, dev.domain.com все это время смотрел только на www.domain.com и читал правильный файл конфигурации БД оттуда, а не с dev.domain.com. Это оказалось проблемой порядка файлов .conf, где читался dev.domain.comпослеwww.domain.com из-за схемы именования .conf. Я переименовал domain1-dev.conf в dev-domain1.com, и теперь все работает отлично, поскольку dev.domain.com читается раньше www.domain.com, что является своего рода универсальным решением.
Это не имело никакого отношения к портам или чему-либо за пределами настроек VirtualHost Apache. Вот что я использовал для определения порядка чтения:
$PATH_TO_APACHE_DIR/bin/httpd -S