У меня есть основной WordPress и несколько поддоменов. Создавались они обычным способом — в панели (Fastpanel) добавлял поддомены, а в папках поддоменов добавлял символические ссылки на файлы основного домена. Он работает отлично, как и ожидалось. Но встал вопрос о добавлении 100 одинаковых поддоменов и создании новых сайтов не очень удобно.
Я решил попробовать добавить поддомены в виде папок. Теперь это выглядит так пример.com/sub1
пример.com/sub2
. Если добавить какой-то файл, например, index.html
с текстом - открывается корректно. Но я добавляю символические ссылки и меня перенаправляет на основной сайт пример.com
. Наверное нужно что-то делать с конфигом. Буду благодарен за любую помощь в этом вопросе.
Теперь мой конфиг, сгенерированный панелью, выглядит так:
сервер {
имя_сервера example.com *.example.com;
слушать xxx.xxx.xx.xx:443 ssl http2 ;
add_header Strict-Transport-Security "max-age=31536000" всегда;
кодировка utf-8;
gzip включен;
gzip_proxied просрочил приватную авторизацию без кэша и без хранилища;
gzip_types text/css text/xml application/javascript text/plain application/json image/svg+xml image/x-icon;
gzip_comp_level 5;
установить $ субдомен "";
если ($host ~* ^([a-z0-9-\.]+)\.example.com) {
установить $ субдомен $ 1;
}
если ($host ~* ^www.example.com) {
установить $ субдомен "";
}
установить $root_path /var/www/example.com/data/www/example.com/$subdomain;
корень $root_path;
отключить_симлинки выключено;
место расположения / {
индекс index.php;
try_files $uri $uri/ /index.php?$args;
}
расположение ~ \.php$ {
включить /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/example.com.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
расположение ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpeg|avi|zip|gz|bz2|rar|swf|ico|7z|doc|docx|карта |ogg|otf|pdf|tff|tif|txt|wav|webp|woff|woff2|xls|xlsx|xml)$ {
try_files $uri $uri/ /index.php?$args;
истекает через 180 дней;
}
местоположение
fastcgi_pass unix:/var/run/example.com.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
включить /etc/nginx/fastcgi_params;
}
включить "/etc/nginx/fastpanel2-sites/example.com/example.com.includes";
включить /etc/nginx/fastpanel2-includes/*.conf;
}
сервер {
имя_сервера пример.com;
слушать 194.58.108.206:80;
слушай [2a00:f940:2:4:2::235f]:80;
вернуть 301 https://$host$request_uri;
}
сервер {
имя_сервера www.example.com *.example.com;
слушать ххх.ххх.хх.хх:80;
слушать xxx.xxx.xx.xx:443 ssl http2 ;
add_header Strict-Transport-Security "max-age=31536000" всегда;
вернуть 301 $scheme://example.com$request_uri;
}
Задача та же - основной сайт должен быть открыт на всех поддоменах, но адрес поддомена должен быть сохранен, т.е. sub1.example.com
должен открыть пример.com
как есть. Без перенаправления на основной сайт.