четвер, 6 березня 2014 р.

Грабли с www и без www

Один и тот же сайт отображается по двум адресам:
www.site.com
site.com

Сервер, где расположен сайт, может изначально задавать приоритет для отображения с www или без www
htdocs/файлы сайта - сайт будет отображаться без www
htdocs/www/файлы сайта - сайт будет отображаться с www

ОпенКарт привязывается к этим настройкам и кнопка "купить" добавляет товар в корзину лишь в "приоритетном" отображении сайта. Хотя страницы отображаются в обоих случаях.

Грабли, с которыми столкнулся я:
сайт расположен по пути
htdocs/www/файлы сайта
и по умолчанию всегда открывается с www

При попытке склеить сайты на открывание без www , браузер выдает ошибку, что "обнаружено циклическое перенаправление, которое не может завершится.

При склейке, на открывание с www - все нормально заработало.

Мелочь, на которую потратил день времени.



1. На ukraine.com.ua:
/domen.com/www/файлы движка
.htaccess по умолчанию (ничего не дописывал)
www.domen.com - кнопка купить добавляет товары в корзину
domen.com - кнопка купить не добавляет товары в корзину
при записи в .htaccess на переадрисацию с www на без www , нажатие кнопки "купить" выдает ошибку
при записи в .htaccess на переадрисацию без www на с www работает нормально


2. На protection.com.ua все наоборот:
/domains/public_html/файлы движка
www.domen.com - кнопка купить не добавляет товары в корзину
domen.com - кнопка купить добавляет товары в корзину
с записями .htaccess не экспериментировал.


И еще заметил интересную особенность на ukraine.com.ua, когда в .htaccess было прописано на переадрисацию с www на без www , поиск по сайту английскими буквами выдавал результаты поиска. А при поиске русскими буквами, поиск ничего не находил.

Не проще в .htaccess поставить

Код:
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Полезно даже для СЕО, вместо двух "доменов" www.sayt.ry | sayt.ry гугл индексирует один..._-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

Также полезно еще зделать 301 с sayt.ry/index.php на sayt.ry
А делается вот так

Код:
RewriteCond %{QUERY_STRING} ^$
 
RewriteRule ^index\.php$ / [R=301]
 
 
Мониторы для авто по самым демократичным ценам 

Немає коментарів:

Дописати коментар