Какие недостатки этого метода использования одного веб-сервера для 3 разных сайтов?
Я использую nearfreespeech.net в качестве веб-хостинга, и мне надоело управлять 3 сайтами для 3 поддоменов на моем веб-сайте, поэтому я искал, как обслуживать все 3 с одного сайта.
Каждый сайт является доменом shortname.nfshost.com и может иметь псевдоним для субдомена или домена. Например, для example.com и sub.example.com я обычно делаю два сайта, examplewww и examplesub (пытаюсь сделать короткие имена понятными), и задаю www.example.com и example.com в качестве псевдонимов examplewww и sub..example.com в качестве псевдонима examplesub, а затем укажите DNS-запись cname для имен shortname.nfshost.com.
Мое решение состояло в том, чтобы сделать один сайт на PHP (так как они платят больше за PHP, чем за статический), со следующим:
<?php $site = $_SERVER['HTTP_HOST'];
if ($site == 'example.com') {
include('www.example.com.php'); # If domain is example.com, serve that page
} elseif ($site == 'sub.example.com') {
include('sub.example.com.php'); if domain is sub.example.com, serve that page instead
} elseif ($site == 'www.example.com') {
header('Location: http://example.com'); redirects www to no-www
} else {
header('Location: http://example.com'); don't let browser go to examplewww.nfshost.com
} ?>
2 включенных PHP-файла имеют загрузочную тематику со ссылками CDN для CSS/ изображений (bootstrap cdn, мой собственный статический сайт, который я называю CDN) (со сложным перенаправлением htaccess и папками, разделенными по сайтам, поэтому каждый сайт, которым я управляю, может имеют свои собственные изображения)), и, кроме страницы с ошибкой 404 (также начальной загрузки), это единственные файлы на сервере (index, sub.example.com include, www.example.com include, 404).
Я могу без проблем запускать код PHP внутри включенных файлов PHP, и даже включать их в другие файлы. Вывод выглядит нормально (HTML, выглядит корректно).
Я смог использовать одну платформу CMS после нескольких сбоев (установка base_url), включив индекс CMS (как index2.php), и у меня вроде бы получилось, что я могу отказать в каталогах, если сайт этого не делает match (sub.example.com/folder Я могу вернуть 404, если он поступил с www.example.com).
Вопрос: есть ли проблемы с этим? Я чувствую, что делаю это слишком сложно, я не очень хорошо знаю PHP, и я не знаю, есть ли проблема с этим, о которой я не могу думать.
Я также думаю, что если бы это решение было таким легким, я бы увидел его где-то во многих моих поисках в Google, что заставляет меня думать, что это не очень хорошее решение. Есть ли причина не делать это таким сложным?
Меня не беспокоит простои или что-то в этом роде. По словам Google Analytics, помимо моих собственных посещений мой сайт посещает около 3 человек в месяц, и в основном это контактная информация (но у меня есть несколько сценариев php для отображения информации, поэтому мне нужно иметь php для всех 3 поддоменов, который становится немного дороже с почти бесплатной речью).