Перенаправьте весь Виртуальный Хост явные домены на www сайт

Необходимо добавить правила в начале таблицы фильтра. Таким образом, необходимо использовать-I (вставляют) вместо-A (добавляют)

4
задан 18 December 2012 в 00:52
2 ответа

Основываясь на другом ответе, я смог заставить его работать, создав универсальный VirtualHost в нижней части файла, который перенаправляет запрос на именованный www host

<VirtualHost *:80>
  ServerName default
  ServerAlias *
  <IfModule mod_rewrite.c>
    RewriteEngine on
    # WITH 'www.'
    RewriteCond %{HTTP_HOST} !^www.(.*) [nocase]
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}$1 [redirect=permanent,nocase,last]
  </IfModule>
</VirtualHost>
3
ответ дан 3 December 2019 в 03:19

Примерно так должно работать:

RewriteCond %{HTTP_HOST} !^www.(.*) [nocase]
RewriteRule ^/(.*)$ http://www.%1/$1 [redirect=permanent,nocase,last]
  1. RewriteCond соответствует любому HTTP_HOST, который НЕ начинается с www.
  2. RewriteRule ] предшествует www. на обратную ссылку на RewriteCond (% 1) затем добавляет то, что было фактическим запросом, с обратной ссылкой на строку соответствия RewriteRule
2
ответ дан 3 December 2019 в 03:19

Теги

Похожие вопросы