Это моя конфигурация сервера localhost для Nginx. Это в /etc/nginx/sites-enabled/development/localhost
server {
listen 80 default_server;
server_name localhost;
root /var/www/html;
index index.nginx-debian.html;
location / {
internal;
}
error_page 404 /404.html;
location /404.html {
root /var/www/html/errors;
internal;
}
}
Если я позвоню http://locahost
в строке URL отображается ошибка страницы 404. Но должен показать index.nginx-debian.html
. Но если я позвоню http://localhost
с действующим поддоменом он работает. Как это http://users.localhost
, определенный в /etc/nginx/sites-enabled/development/users
.
Я хочу показать страницу по умолчанию Nginx, если я только позвоню http://localhost
, 404.html
если субдомена не существует, а другая любая страница, если я позвоню http://localhost
правильно с определенным поддоменом.
Я решил следующее.
В /etc/nginx/sites-enabled/development/default
.
server {
listen 80 default_server;
server_name *.localhost *.<host-name>;
root /var/www/html/errors/404;
location / {
index subdomain.html;
}
}
В /etc/nginx/sites-enabled/development/localhost
.
server {
listen 80;
server_name = localhost;
root /var/www/html;
index index.nginx-debian.html;
# to URI errors caused by paths after domain
error_page 404 /domain.html;
location = /domain.html {
root /var/www/html/errors/404;
internal;
}
}
Я не знаю, лучшее ли это решение, поэтому, если у кого-то есть лучшее решение, напишите здесь. Спасибо.