Community
1 19740
HostiServer
2018-06-22 14:12

Як налаштувати 301 редірект із HTTP на HTTPS за допомогою Apache та Nginx

Якщо вам потрібно змінити URL сторінки в результатах пошукових систем, Google рекомендує використовувати 301 редірект. Це найкращий спосіб гарантувати, що користувачі та пошукові системи будуть спрямовані на правильну сторінку, а також уникнути втрати трафіку вашого сайту.

Коли слід використовувати 301 редірект?

  • Якщо існує кілька ідентичних версій сайту, що використовують різні піддомени або каталоги, наприклад: http://domain.site.com, http://site.com або https://domain.site.com, для перенаправлення відвідувачів на основну версію сайту.
  • Щоб забезпечити використання правильної URL-адреси відвідувачами після ребрендингу сайту (або з інших причин, коли попередню URL-адресу було змінено).
  • Під час об'єднання двох сайтів, щоб усі сторінки першого перенаправляли на новий сайт.

Як налаштувати 301 редірект на вебсервері Apache?

Щоб налаштувати редірект із HTTP на HTTPS, потрібно використовувати mod_rewrite:

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

Щоб зміни набули чинності, потрібно перезавантажити вебсервер Apache:

apache2ctl restart

Додайте до файлу .htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.sitename\.com$ [NC]
RewriteRule ^(.*)$ http://sitename.com/$1 [R=301,L]

Або:

RewriteEngine On
Redirect 301 / http://sitename.com/

Як налаштувати 301 редірект на вебсервері Nginx?

Найкращий спосіб — налаштувати редіректи через окремі vhost-и.

vhost — це віртуальний хост для домену. Він починається з секції server { і може використовуватися у головному конфігураційному файлі nginx.conf або через підключення як зовнішній файл, наприклад: include sites-enabled/*.conf;

Якщо немає потреби перенаправляти на www або без www:

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

Якщо потрібно перенаправити на www або без www:

Перенаправлення на www.sitename.com:

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

Перенаправлення на без www:

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

Якщо потрібно перенаправити HTTPS без www на HTTPS із www:

server {
listen x.x.x.x:443 ssl http2;
server_name sitename.com;
ssl_certificate /path/to/cert.....;
ssl_certificate_key /path/to/key...;
return 301 https://www.sitename.com$request_uri;
}
server {
listen x.x.x.x:443 ssl http2;
server_name www.sitename.com;
ssl_certificate /path/to/cert.....;
ssl_certificate_key /path/to/key...;
root /path/to/docroot;
...
...
}

Для реалізації редіректу в одному vhost, якщо немає можливості використовувати кілька (наприклад, через використання панелі керування сервером):

server {
listen x.x.x.x:80;
listen x.x.x.x:443 ssl http2;
server_name www.domain.com;
ssl_certificate /path/to/cert.....;
ssl_certificate_key /path/to/key...;
root /path/to/docroot;

if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
...
...
}
Увага! Якщо у вас немає базових навичок адміністрування серверів, Hostiserver не рекомендує змінювати налаштування у робочому середовищі. Завжди краще скористатися професійними послугами, щоб уникнути непотрібних ризиків (наприклад, неправильно працюючих сайтів після налаштування сервера тощо). Однак, якщо ви вирішили робити все самостійно, будь ласка, використовуйте тестове середовище.

Contents

VPS з підтримкою від

$19 95 / міс

Виділені сервери від

$80 / міс

CDN починаючи від

$0 / міс

 

Користуючись цим сайтом, ви погоджуєтеся на використання файлів cookies відповідно до нашої Політики Конфіденційності.