Перенаправление HTTP на HTTPS и без www на www — это важные шаги для повышения безопасности веб-сайта, улучшения пользовательского опыта и соблюдения лучших практик SEO. В этой статье мы рассмотрим различные методы достижения этих перенаправлений на примерах кода.
Метод 1: перенаправление через.htaccess (Apache)
- Откройте корневой каталог вашего сайта.
- Найдите или создайте файл.htaccess.
- Добавьте следующий код:
RewriteEngine On
# Redirect from HTTP to HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Redirect from non-www to www
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
- Сохраните файл.htaccess.
Метод 2: перенаправление через конфигурацию Nginx
- Найдите файл конфигурации Nginx (обычно он находится в
/etc/nginxили/etc/nginx/conf.d). - Откройте файл конфигурации в текстовом редакторе.
- Добавьте следующий код в блок
server:
# Redirect from HTTP to HTTPS
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
# Redirect from non-www to www
server {
listen 443 ssl;
server_name example.com;
return 301 https://www.example.com$request_uri;
}
- Сохраните файл конфигурации и перезапустите Nginx.
Метод 3: перенаправление через JavaScript
- Откройте HTML-файл вашего веб-сайта.
- Добавьте следующий код JavaScript в раздел
<head>:
<script>
if (location.protocol !== 'https:' || location.hostname.substr(0, 4) !== 'www.') {
location.href = 'https://www.' + location.hostname + location.pathname + location.search;
}
</script>
- Сохраните HTML-файл.
Метод 4: перенаправление через PHP
- Откройте PHP-файл вашего веб-сайта.
- Добавьте следующий PHP-код в начало файла:
<?php
if ($_SERVER['HTTPS'] != "on" || strpos($_SERVER['HTTP_HOST'], 'www.') !== 0) {
header('Location: https://www.' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
exit;
}
?>
- Сохраните файл PHP.