Перенаправление с «www» на «без www» с помощью Apache mod_rewrite

Чтобы перенаправить версию веб-сайта с «www» на версию без «www» с помощью модуля Apache mod_rewrite, вы можете использовать различные методы. Вот несколько подходов:

  1. Использование файла.htaccess:

    • Создайте или отредактируйте файл.htaccess в корневом каталоге вашего веб-сайта.
    • Добавьте следующий фрагмент кода:
      RewriteEngine On
      RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
      RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
  2. Конфигурация виртуального хоста:

    • Найдите файл конфигурации виртуального хоста для вашего веб-сайта (например, example.com.conf).
    • Добавьте следующие строки в раздел :
      ServerName www.example.com
      Redirect permanent / http://example.com/
  3. Использование серверного сценария:

    • Если у вас есть возможности написания сценариев на стороне сервера (например, PHP), вы можете создать сценарий, который будет обрабатывать перенаправление. Вот пример PHP:
      <?php
      if (substr($_SERVER['HTTP_HOST'], 0, 4) === 'www.') {
       $redirectURL = 'http://' . substr($_SERVER['HTTP_HOST'], 4) . $_SERVER['REQUEST_URI'];
       header('HTTP/1.1 301 Moved Permanently');
       header('Location: ' . $redirectURL);
       exit();
      }
      ?>

Эти методы перенаправят все входящие запросы с версии «www» на версию вашего веб-сайта без «www», обеспечивая согласованную структуру URL-адресов.