Основные методы перенаправления HTTP на HTTPS и без WWW на WWW

Перенаправление HTTP на HTTPS и без www на www — это важные шаги для повышения безопасности веб-сайта, улучшения пользовательского опыта и соблюдения лучших практик SEO. В этой статье мы рассмотрим различные методы достижения этих перенаправлений на примерах кода.

Метод 1: перенаправление через.htaccess (Apache)

  1. Откройте корневой каталог вашего сайта.
  2. Найдите или создайте файл.htaccess.
  3. Добавьте следующий код:
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]
  1. Сохраните файл.htaccess.

Метод 2: перенаправление через конфигурацию Nginx

  1. Найдите файл конфигурации Nginx (обычно он находится в /etc/nginxили /etc/nginx/conf.d).
  2. Откройте файл конфигурации в текстовом редакторе.
  3. Добавьте следующий код в блок 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;
}
  1. Сохраните файл конфигурации и перезапустите Nginx.

Метод 3: перенаправление через JavaScript

  1. Откройте HTML-файл вашего веб-сайта.
  2. Добавьте следующий код JavaScript в раздел <head>:
<script>
if (location.protocol !== 'https:' || location.hostname.substr(0, 4) !== 'www.') {
    location.href = 'https://www.' + location.hostname + location.pathname + location.search;
}
</script>
  1. Сохраните HTML-файл.

Метод 4: перенаправление через PHP

  1. Откройте PHP-файл вашего веб-сайта.
  2. Добавьте следующий PHP-код в начало файла:
<?php
if ($_SERVER['HTTPS'] != "on" || strpos($_SERVER['HTTP_HOST'], 'www.') !== 0) {
    header('Location: https://www.' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
    exit;
}
?>
  1. Сохраните файл PHP.