Назад | Перейти на главную страницу

nginx - в какую сторону лучше перенаправить и почему

Я хочу перенаправить с www.mydomain.com на domain.com в nginx. Я поискал в Интернете и нашел два пути:

Первый способ

server {
            listen   80;
            server_name  www.domain.com;
            rewrite ^/(.*) http://domain.com/$1 permanent;
}

Второй способ

server {
            listen   80;
            server_name  www.domain.com;
            return 301 $scheme://domain.com$request_uri;
}

Оба способа работают. Но какой из них я должен использовать и почему?

Второй способ лучше ...

server {
  listen   80;
  server_name  www.domain.com;
  return 301 $scheme://domain.com$request_uri;
}

Зачем

Позвольте мне процитировать официальную вики Nginx по адресу Подводные камни и распространенные ошибки:

Используя встроенную переменную $ request_uri, мы можем эффективно избежать любого захвата или сопоставления вообще, а с помощью директивы return мы можем полностью избежать вычисления регулярного выражения.

Мои собственные мысли ...

По умолчанию регулярное выражение является дорогостоящим и снижает производительность.