О доменах с "www"

LiveStreet CMS
Если вы современный веб разработчик, который понимает бредовость префикса гипертекстовых страниц www, то можете смело пропускать данный топик — он для новичков, которые поставили ЛС и думают что сайт с www — это круто.

Итак ЛС желательно размещать на домене без «www», т.к. он уж очень не любит этого — авторизация на сайте будет выполнятся либо на «www» либо на «без www», поэтому пользователи будут периодически слать вам (админу) письма о невозможности входа на сайт или периодического разлогинивания. Будьте бдительны — выключите дедушку «www» сразу.

Пожалуй, самый лучший вариант сделать это посредством модуля mod_rewrite вашего сервера, дописав в файл .htaccess, который находится в корне вашего сайта, сразу после директивы:

RewriteEngine On

следующие строки:

RewriteCond %{HTTP_HOST} ^www.САЙТ.com [NC]
RewriteRule ^(.*)$ http://САЙТ.com/$1 [L,R=301]

где САЙТ.com — домен вашего сайта.

В каталоге модулей для Ливстрит есть плагин который делает тоже самое, но с точки зрения скорости работы (и затраты ресурсов сервера) — это не рационально.

UPD: Добавил пример файла .htaccess:

AddDefaultCharset UTF-8
Options -Indexes
RewriteEngine On

#MOD by PSNet
RewriteCond %{HTTP_HOST} ^www.livestreetguide.com [NC]
RewriteRule ^(.*)$ http://livestreetguide.com/$1 [L,R=301]

#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php
# Alternative rule
#RewriteRule ^(.*)$ /index.php

<Files "plugins.dat">
order allow,deny
deny from all
</Files>

<Files ~ "\.tpl$">
Order allow,deny
Deny from all
</Files>

#MOD by PSNet

<Files "plugin.xml">
order allow,deny
deny from all
</Files>


UPD2: Обновил статью в связи с правками в коде.
14 комментариев
evgsh
Пролбема только получается, когда редирект этот применяешь, то перестает работать вход в админку, в конфиге видимо нужно изменить что-то…
Serge Pustovit
возможно, вы указали в конфиге сайт с «www»?
evgsh
в конфиге ничего не менял
Serge Pustovit
что у вас записано в конфиге в
<code>$config['path']['root']['web'] = 'ЗДЕСЬ';</code>
?
evgsh
попробовал сменить хост для установки куков в конфиге на «без» Www, не помогло
evgsh
= 'http://'.$_SERVER['HTTP_HOST'];
evgsh
так понимаю что здесь нужно поменять на без www
Serge Pustovit
вы вносили код примера из топика? при заходе на ввв.сайт.ру редиректит на сайту.ру?
тогда какая ошибка с админкой?
evgsh
Да именно так, внес изменения в htaccess, редирект с www.сайт работает, но не работает авторизация,«полосочки» бегают и все, когда редирект убираешь все работает
evgsh
на оф сообществе покопался, вроде тоже были такие проблемы, но как решить не нашел
Serge Pustovit
сайт не покажите?
evgsh
да конечно ourmmm.com, да там сайт практически пустой, пару плагинов стоит только
Serge Pustovit
это нужно смотреть уже тогда весь ваш .htaccess
Znayka
Здравствуй, админ! Спасибо за топик :)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.