Вопрос по RewriteRule, проблема с префиксом, нужна помощь

заморочки с www

#1 12 февраля 2014 в 07:01
Сайт на 1.10.1
Поступали жалобы о том, что периодически слетает авторизация, стал разбираться, выяснилось что проблема в префиксе www, те кто открывают сайт без www вылетают из авторизации по ссылкам с www и наоборот.

Нашел на сайте решение: прописать в htaccess такие правила
  1. RewriteCond %{HTTP_HOST} ^сайт.ru
  2. RewriteRule (.*) http://www.сайт.ru/$1 [R=301,L]
Сделал, редирект заработал, все страницы стали открываться с префиксом www, но возникла другая проблема: ссылки без www стали выбрасывать на главную страницу. Например, ссылка сайт.ru/forum/thread138-1.html#69755 теперь открывает www.сайт.ru/index.php#69755 — главную страницу.

Прошу помощи знающих людей, как сделать чтобы и редирект работал и ссылки без www открывались правильно с подстановкой www

Привожу htaccess на данный момент

  1. AddDefaultCharset utf-8
  2. Options -Indexes
  3.  
  4. RewriteEngine On
  5. RewriteBase /
  6. RewriteRule ^.htaccess$ - [F]
  7.  
  8. RewriteCond %{REQUEST_URI} !\.(ico|css|js|txt)$ [NC]
  9. RewriteCond %{REQUEST_FILENAME} !^/admin
  10. RewriteCond %{REQUEST_FILENAME} !^/migrate
  11. RewriteCond %{REQUEST_FILENAME} !^/install
  12. RewriteCond %{REQUEST_FILENAME} !-f
  13. RewriteCond %{REQUEST_FILENAME} !-d
  14.  
  15. RewriteRule ^(.*)$ /index.php [L]
  16. RewriteCond %{HTTP_HOST} ^сайт.ru
  17. RewriteRule (.*) http://www.сайт.ru/$1 [R=301,L]
#2 12 февраля 2014 в 17:35
Никто не сталкивался с такой проблемой?
#3 12 февраля 2014 в 18:44
Ставьте этот код после:
RewriteEngine On

У меня работает.
#4 12 февраля 2014 в 19:27
lokanaft, заработало. Большое спасибо! v
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.