Я перешел из Apache 2 в nginx, и у меня проблемы с моим поддоменом. Что я хочу: Когда запрашивается x.domain.tld, внутренне переписать в domain.tld/x
Проблема заключается в том, что 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;
}
}
Спасибо!