Автоматические поддомены для профилей пользователей

pligin

Команда форума
Администратор
Задача: Нужно, чтобы по адресу http://user.example.com открывалась страница пользователя с сайта http://example.com .
В конфиг Apache VirtualHost сайта example.com после
Apache-конфиг:
ServerName example.com
добавить
Apache-конфиг:
ServerAlias *.example.com
1672169592063.png

В DNS добавить запись A для перенаправления всех поддоменов на IP адрес Вашего сайта
Код:
*.example.com A 111.111.111.111
111.111.111.111 - IP адрес Вашего сайта
1672169670838.png

Для корректной работы SSL требуется создать Wildcard сертификат для сайта, чтобы он работал на всех поддоменах

В .htaccess добавить
Apache-конфиг:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(.*)\.(.*)\.(.*) [NC]
RewriteRule ^(.*)\.(.*)$ users.php?login=%1 [L]
где
users.php - файл для получения данных
login=%1 - GET параметр, который передается в файл users.php
%1 = поддомен - логин пользователя

Для фруктовой фермы после
Apache-конфиг:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
добавить
Apache-конфиг:
RewriteCond %{HTTP_HOST} ^(.*)\.(.*)\.(.*) [NC]
RewriteRule ^(.*)\.(.*)$ index.php?menu=users&login=%1 [L]
создать файл users.php в каталоге pages для вывода страницы по адресу index.php?menu=users&login=%1

1672169447665.png
 
Последнее редактирование:
Верх