Як встановити перенаправлення з www.domain.com на domain.com і навпаки
Тема, звичайно не нова, але довелося мені налагоджувати сайт на joomla і зіткнувся з проблемою роздвоєння сайту: тобто получалися адреси сторінок з www так і без. От скористався таким вирішення проблеми:
Перенаправлення з www.domain.com на domain.com:
RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
RewriteRule ^(.*) http://%1/$1 [L,R=301]
Принцип такий: якщо ім’я хосту починається на www., відкидаємо www. і виконуємо редірект. Рекомендується перенаправлення з кодом 301, хоча можливі і інші варіанти.
Перенаправлення з domain.com на www.domain.com:
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} (.+)$
RewriteRule ^(.*) http://www.%1/$1 [L,R=301]
Тут получається сладніше: перевіряємо, що ім’я хосту не порожнє і не починається на www.. Добавляємо www. до імені хосту і робимо редірект.
Зрозуміло, що mod_rewrite повиен бути увімкнений (RewriteEngine On). З метою підвищення продуктивності доцільно помістити код не в .htaccess, а безпосередньо всередину директиви
Наголошу, що тут приведений простой випадок, коли протокол HTTPS не використовуєтся.
Теги: apache, damain, mod_rewrite, redirect, web, адміністрування, домен, переадресація, редірект