На моей платформе у каждого пользователя есть собственный файл конфигурации. Файл назван по субдомену, который они создали.
Пример:
user1.domain.com
user2.domain.com
user3.domain.com
Система считывает URL-адрес через $ _SERVER ['SERVER_NAME'] и захватывает субдомен. Затем он ищет соответствующий файл конфигурации на основе поддомена.
Пример:
if the url is user1.domain.com the system looks up user1.config.php.
У каждого пользователя есть возможность использовать собственный домен. В настоящее время я делаю это, указывая на запись A.
Пример:
user 1 points theirDomainName.com to my IP address via their A record
как я могу использовать htaccess, чтобы URL читался theirDomainName.com
но серверная часть платформы (php) читает user1.domain.com
таким образом платформа знает, как user1.config
файл
Вместо того, чтобы создавать правила перезаписи в .htaccess
, было бы намного проще поддерживать, выполняя сопоставление внутри вашего PHP-скрипта.
Этот массив должен сопоставлять имя домена с именем пользователя, чтобы вы знали, как включить. Если вы боитесь исправлять существующий скрипт сверх этого, вы можете даже обновить $ _SERVER ['SERVER_NAME'] на его основе.
Вы можете, например, сделать: 'user1.domain.com', 'domain2.com' => 'user2.domain.com', 'domain3.com' => 'user3.domain.com'];
if (!array_key_exists($_SERVER['SERVER_NAME'], $clients)) {
header('Location: http://domain.com/invalidclient');
exit;
}
$_SERVER['SERVER_NAME'] = $clients[$_SERVER['SERVER_NAME']];
Хотя перезапись суперглобалов не является лучшей практикой, ничто не препятствует этому, и это дает вам действительно простое решение.