Я перенес из Apache 2 в nginx, и у меня есть проблемы с ручным управлением моим поддоменом. Что я хочу: Когда x.domain.tld запрашивается, внутренне переписан для domain.tld/хКонфигурация сервера nginx: субдомен в папку
Проблема у меня в том, что Nginx всегда перенаправляет на страницу, говоря браузер для перенаправления. Но я действительно хочу сделать это внутренне, как это делал Apache 2. Кроме того, если я только прошу x.domain.tld, Nginx возвращает 404. Он работает только тогда, когда я x.domain.tld/index.php
Вот мой конфиг:
server {
listen 80 default;
server_name _ domain.tld www.domain.tld ~^(?<sub>.+)\.domain\.tld$;
root /home/domain/docs/;
if ($sub) {
rewrite (.*) /$sub;
}
# HIDDEN FILES AND FOLDERS
rewrite ^(.*)\/\.(.*)$ @404 break;
location = @404 {
return 404;
}
# PHP
location ~ ^(.*)\.php$ {
if (!-f $request_filename) {
return 404;
}
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/etc/nginx/sockets/domain.socket;
}
}
Спасибо!
пытается перезапустить Nginx с вашим примером вызывает ошибку 'не удалось: неопознанный символ после (<' – vladkras
я должен упомянуть, что это Nginx 1.10.1 – vladkras