Я использую следующий код на своем сайте для постоянного перенаправления 301 с домена без www на домен www. Мой веб-сервер nginx.

rewrite ^/([^&]*)&(.*)$ http://www.example.com/$1?$2 permanent;

Это работает нормально только для одного случая, когда пользователь вводит http://example.com который перенаправляется на http://www.example.com

Но когда пользователь вводит, например, http://example.com/portal.php он не перенаправляется на http://www.example.com/portal.php

Как я могу убедиться, что все мои страницы перенаправляются на домен www?

1 ответ1

1

Обычно это делается с другим блоком сервера, без регулярных выражений.

server {
  listen 80;
  server_name example.com;

  return 301 http://www.example.com$request_uri;
}

server {
  listen 80;
  server_name www.example.com;

  # Location blocks etc
}

Вы можете добавить дополнительные блоки сервера, если вы хотите перенаправить https.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .