У меня есть веб-приложение php на Apache, которое поддерживает несколько пользователей, идентифицированных dist_id в строке запроса. Так https://main.com/login?dist_id=21 показывает страницу с другим стилем из https://main.com/login?dist_id=26
Я хочу зарегистрировать доменное имя для каждого пользователя и сохранить URL-адреса в чистоте, чтобы https://brandx.com/login незримо указывал на https://main.com/login?dist_id=21. После входа в систему мне больше не нужен dist_id, но я хочу сохранить домен пользователя так, чтобы https://brandx.com/products?show=1 и т.д. Все еще работает.
Возможно ли это, и что лучший способ сделать это (mod_write, DNS, в PHP)?
Примечание. У меня уже есть правило перезаписи для добавления index.php, который является точкой входа для всех запросов.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
Я думаю, я сблизился с:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?dist_id=26 [QSA,L]
После входа в эту работу: https://brandx.com/categories, но это дает ошибку 404: https://brandx.com/categories?parent_id=12329
Предположительно, все эти "сайты" будут иметь одинаковые структуры URL (минус параметры запроса)? В этом случае было бы проще всего установить определение для вашего сайта main.com
, а затем добавить все ваши домены brandx.com
качестве псевдонимов, например
<virtualhost *:80>
ServerName main.com
ServerAlias brandx.com brandy.com brandz.com etc...
</virtualhost>
Затем вы используете mod_rewrite для проверки заголовка HTTP "Host:", чтобы узнать, в каком домене попадают пользователи, и переписывать соответствующим образом.