zkrvndm
@zkrvndm
Архитектор решений

Как на nginx создать все возможные субдомены и направить на один сайт?

Пытаюсь создать субдомен вида *.localhost и вот мой конфиг:
server {
	listen 127.0.0.1:80;
	server_name localhost *.localhost;

	root home/localhost/public_html;

	index index.php index.html;

	log_not_found off;
	access_log logs/localhost-access.log main;

	charset utf-8;

	location ~ /\. { deny all; }
	location = /favicon.ico { }
	location = /robots.txt { }

	location ~ \.php$ {
		fastcgi_pass 127.0.0.1:9071;
		fastcgi_index index.php;
		fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
		include fastcgi_params;
	}

}

Если на localhost у меня вполне себе заходит и корневой файл виден, то с любого субдомена на localhost я получаю ошибку 404 о том, что страница (корневой документ) типа не найден. Подскажите пожалуйста, в чём может быть проблема?

В качестве локального сервера использую Winginx.
  • Вопрос задан
  • 124 просмотра
Решения вопроса 1
zkrvndm
@zkrvndm Автор вопроса
Архитектор решений
Проблема решена, у меня была ошибка в этой строке в конфигах:
location ~ /\. { deny all; }
Поменял на на это и все заработало:
location / { }
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Megum1n
@Megum1n
Добавить
listen 80 default_server;
После чего в dns прописать * на все сабдомены.

Или указать
server_name *. example.com;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы