Налаштування редиректів за допомогою Nginx на VPS

Перенаправлення життєво важливі для управління трафіком на вашому сайті, розміщеному на VPS, гарантуючи, що користувачі потрапляють на правильні URL-адреси, одночасно підвищуючи SEO та безпеку. Цей посібник спрощує налаштування перенаправлень Nginx для постійних (301), тимчасових (302), HTTP-to-HTTPS, www/non-www і для конкретних шляхів. Завдяки практичним прикладам і порадам ви навчитеся ефективно використовувати перенаправлення Nginx.

Необхідні умови

  • VPS зі встановленим Nginx

  • Привілеї root або sudo

  • Конфігураційний файл вашого сайту (зазвичай в /etc/nginx/sites-available/ або /etc/nginx/conf.d/)

1. Постійний редирект (301)

Використовуйте його, коли URL-адреса або домен змінилися назавжди.

приклад: Перенаправлення зі старого домену на новий

server {
listen 80;
server_name olddomain.com www.olddomain.com;
return 301 https://newdomain.com$request_uri;
}

порада: Завжди перенаправляйте на HTTPS, коли це можливо.

2. Тимчасова переадресація (302)

Використовуйте цей параметр для тимчасового пере направлення (наприклад, під час технічного обслуговування).

server {
listen 80;
server_name olddomain.com www.olddomain.com;
return 301 https://newdomain.com$request_uri;
}

3. Перенаправлення HTTP на HTTPS

Це настійно рекомендується для SEO та безпеки.

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

Потім налаштуйте блок вашого HTTPS-сервера окремо:

server {
listen 443 ssl;
server_name example.com;
# SSL config here
}

4. Перенаправлення www на не-www (або навпаки)

Виберіть один з варіантів для узгодженості та SEO.

Від www до не www:

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

Або з non-www на www:

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

5. Перенаправлення на певний шлях

Приклад: Переспрямувати /blog на /articles:

location = /blog {
return 301 /articles;
}

Або з повною URL-адресою:

location = /blog {
return 301 https://example.com/articles;
}

Де розмістити ці директиви

Всі перераховані вище директиви повинні бути розміщені у відповідному серверному блоці в конфігураційному файлі вашого сайту:

/etc/nginx/sites-available/example.com

Потім прив’яжіть його до доступних сайтів, якщо потрібно:

ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Після оновлення конфігурацій

Завжди тестуйте конфігурацію Nginx перед перезавантаженням:

sudo nginx -t

Якщо помилок немає:

sudo systemctl перезавантажити nginx

Бонус: Перенаправлення всіх помилок 404 на головну сторінку

error_page 404 =301 /;

Помістіть це всередині блоку вашого сервера, щоб коректно обробляти непрацюючі посилання.

Nginx – це не просто високопродуктивний веб-сервер, це також потужний інструмент для управління трафіком і користувацьким досвідом за допомогою інтелектуальних перенаправлень. За допомогою всього декількох рядків конфігурації ви можете впровадити HTTPS, спрямовувати користувачів на правильні URL-адреси та оптимізувати свій сайт як для SEO, так і для безпеки.

Додаткові поради

  • SEO-дружній: використовуйте 301 перенаправлення для збереження рейтингу в пошукових системах.

  • Налаштування SSL: Переконайтеся, що ваш SSL-сертифікат дійсний перед HTTPS-перенаправленнями (використовуйте Certbot для Let’s Encrypt).

  • Перевірте перенаправлення: Використовуйте https://www.redirect-checker.org, щоб перевірити відсутність циклів або ланцюжків перенаправлень.

  • Журналювання: Увімкніть журнали доступу(access_log /var/log/nginx/access.log;), щоб відстежувати поведінку перенаправлень.

Висновок

Nginx робить управління перенаправленнями на вашому VPS простим і потужним, покращуючи користувацький досвід, безпеку і SEO. Налаштувавши 301, 302, HTTPS або перенаправлення за певним шляхом і протестувавши з наведеними прикладами, ви зможете забезпечити безперебійний потік трафіку. Завдяки надійному VPS-хостингу від AvaHostта цим порадам ваш сайт залишатиметься безпечним, доступним та оптимізованим для зростання.