Я использую CentOS 7 с Nginx. Я хочу преобразовать все домены без www в домены с www, например если кто-то вводит "abc.example.com", я бы хотел, чтобы он был перенаправлен на "www.example.com". Я пробовал это
server {
listen 80;
server_name "~^(?!www\.).*";
return 301 $scheme://www.$host$request_uri;
}
в моем файле конфигурации для конкретного сайта, но вместо этого, если кто-то вводит «abc.example.com», они перенаправляются на «www.abc.example.com». Как я могу исправить приведенное выше, чтобы заменить, а не предварительно отложить "www"?
Если вы только хостинг example.com
домен и хотите, чтобы все было перенаправлено на www.example.com
, вам следует использовать сервер по умолчанию, а не сервер регулярных выражений.
Например:
server {
listen 80 default_server;
return 301 $scheme://www.example.com$request_uri;
}
server {
listen 80;
server_name www.example.com;
...
}
Видеть этот документ для большего.