Пользовательские домены для одного сайта

0

У меня есть веб-приложение 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

Теги:
dns
.htaccess
mod-rewrite

1 ответ

1
Лучший ответ

Предположительно, все эти "сайты" будут иметь одинаковые структуры URL (минус параметры запроса)? В этом случае было бы проще всего установить определение для вашего сайта main.com, а затем добавить все ваши домены brandx.com качестве псевдонимов, например

<virtualhost *:80>
   ServerName main.com
   ServerAlias brandx.com brandy.com brandz.com etc...
</virtualhost>

Затем вы используете mod_rewrite для проверки заголовка HTTP "Host:", чтобы узнать, в каком домене попадают пользователи, и переписывать соответствующим образом.

  • 0
    Об этом я и думал, но я идиот, когда дело доходит до mod_write. Как бы выглядело правило проверки и перезаписи хоста?
  • 0
    httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritecond показывает переменные, которые вы можете протестировать, включая http_host

Ещё вопросы

Сообщество Overcoder
Наверх
Меню