Якщо вам потрібно змінити URL сторінки в результатах пошукових систем, Google рекомендує використовувати 301 редірект. Це найкращий спосіб гарантувати, що користувачі та пошукові системи будуть спрямовані на правильну сторінку, а також уникнути втрати трафіку вашого сайту.
Щоб налаштувати редірект із 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/
Найкращий спосіб — налаштувати редіректи через окремі 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;
}
...
...
}