Nginx лови весь домен, потом добавь www если его нет

966
Syed

Эта настройка предназначена для совместного использования нескольких доменов на одной платформе CMS. Это позволит любому домену указывать на ip моего сервера.

Я могу использовать nginx имя_сервера _; поймать всех.

Но тогда я хотел бы 301 перенаправить на www (добавление www. Infront), если www нет. Если www присутствует, это нормально.

Как я могу достичь этого?

1

1 ответ на вопрос

0
unNamed

Примерно так может работать (не проверено!):

server { server_name ~^www\.; <deliver content here> } server { server_name ~^(?!www\.); location / { return 302 $scheme://www.$host$request_uri; } } 

Есть и другие варианты, отсутствующие сейчас! Как "слушать" и "местоположение".
Вероятно, вам следует добавить еще один блок сервера с общедоступным ip-адресом сервера, который перенаправляет трафик не vhost на сайт по умолчанию.
Вы должны обратить внимание на порядок, в котором обрабатывается директива server_name: http://nginx.org/en/docs/http/server_names.html

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