Поставил 301 редирект с домена без www на домен с www и начались траблы

 
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1551
В общем недавно я создавал тему на форуме
http://instantcms.ru/forum/thread6726.html
При переходе на http://site.ru всё ок, а на http://site.ru/index.php ошибка 404 что то не могу врубиться, что не так...
и заметил, что стали наблюдаться различные проблемы
а сегодня обнаружил кое что ещё хлеще

в общем понадобилось склеить домен без www с доменом с www, что я с успехом и сделал, через 301 редирект

RewriteEngine On
RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

но теперь, если у человека есть закладка, на какой-нибудь раздел сайта, где домен без www, например http://site.ru/novosti, то вместо http://www.site.ru/novosti, перебрасывает на http://www.site.ru/index.php и этот адрес естесно выдаёт ошибку 404
если к этой закладке приписать www, то естесно всё ок
если набрать http://site.ru/, то как положено перекинет на http://www.site.ru/
но если на какой либо раздел и без www, то 404

в общем засада какая то!
Ну типа продвигаю сайты, по немногу и не напрягаясь. smile
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2759
уф, хорошо что я 301 редирект прописал с самого основания сайта ...
Виджеты, поля и компоненты для instantcms 2 http://www.zau4man.ru/ tm @zau4man
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 373
А вот так попробуйте:
Код PHP:
  1. RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
  2. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2759
Anonimus, отпишите о результатах применения совета googlebot, пожалуйста.
Виджеты, поля и компоненты для instantcms 2 http://www.zau4man.ru/ tm @zau4man
Посетитель
small user social cms
Медаль
Сообщений: 373
Евгений, вряд-ли что-то изменится, там в ядре недоработочка была, Администратор ответил тут.
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1551
googlebot:

Евгений, вряд-ли что-то изменится, там в ядре недоработочка была, Администратор ответил тут.
Все изменения сделал, даже по совету гуглебота, хотя это те же яйца, только в профиль, но с редиректом воз и ныне там

в общем набираешь например http://site.ru/novosti, но перебрасывает по прежнему не на http://www.site.ru/novosti, как по логике и должно быть, а на http://www.site.ru/index.php
в общем пока не пойму в чём косяк
Редактировалось: 2 раз (Последний: 17 мая 2011 в 19:31)
Ну типа продвигаю сайты, по немногу и не напрягаясь. smile
Посетитель
small user social cms
Медаль
Сообщений: 373
Содержимое url_rewrite.php и .htaccess покажите.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2928
в .htaccess нужно сделать запись:
Код PHP:
  1. RewriteCond %{HTTP_HOST} .
  2. RewriteCond %{HTTP_HOST} ^site.ru$ [NC]
  3. RewriteRule ^(.*) http://www.site.ru/$1 [L,R=301]
и все должно нормально переходить на любую страницу.
Проверено на 1.7 и 1.8
Да в принципе и разницы нету какая версия и какой сайт
Посетитель
small user social cms
Медаль
Сообщений: 373
uavip:
RewriteCond %{HTTP_HOST} .
вот это бред.
короче в релизе 1.8 вот этот блок
Код PHP:
  1. RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|ico|gif|png|css|xml|js|pl|txt)$ [NC]
  2. RewriteCond %{REQUEST_FILENAME} !^/admin
  3. RewriteCond %{REQUEST_FILENAME} !^/migrate
  4. RewriteCond %{REQUEST_FILENAME} !^/install
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteCond %{REQUEST_FILENAME} !-d
  7.  
  8. RewriteRule ^(.*)$ /index.php [L]
перекидывает все запросы к фактически несуществующим файлам и директориям, кроме файлов jpg|jpeg|ico|gif|png|css|xml|js|pl|txt и кроме обращений к /admin,/migrate и /install на обработку index.php в корне сайта.
Т.е. теперь вообще все редиректы надо писать в url_rewrite.php
Редактировалось: 1 раз (Последний: 17 мая 2011 в 20:53)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2928
googlebot:
вот это бред.
Интересно а почему этот бред идеально работает у меня???
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2928
Может не понятно для некоторых написал scratch
Те строчки нужно добавить!!!
И должно получиться так:
Код PHP:
  1.  
  2. AddDefaultCharset windows-1251
  3.  
  4. RewriteCond %{HTTP_HOST} .
  5. RewriteCond %{HTTP_HOST} ^site.ru$ [NC]
  6. RewriteRule ^(.*) http://www.site.ru/$1 [L,R=301]
  7.  
  8. RewriteEngine On
  9. RewriteBase /
  10. RewriteRule ^.htaccess$ - [F]
  11.  
  12. RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|ico|gif|png|css|xml|js|pl|txt)$ [NC]
  13. RewriteCond %{REQUEST_FILENAME} !^/admin
  14. RewriteCond %{REQUEST_FILENAME} !^/migrate
  15. RewriteCond %{REQUEST_FILENAME} !^/install
  16. RewriteCond %{REQUEST_FILENAME} !-f
  17. RewriteCond %{REQUEST_FILENAME} !-d
  18.  
  19. RewriteRule ^(.*)$ /index.php [L]
  20.  
Посетитель
small user social cms
Медаль
Сообщений: 373
Что именно работает? У Вас и без www и c www открывается никуда не переадресовывая.
Лол, прикольный у Вас htaccess shock сначала правила написали, а потом уже преобразования включили cry
Редактировалось: 1 раз (Последний: 17 мая 2011 в 21:43)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2928
googlebot:
то именно работает? У Вас и без www и c www открывается никуда не переадресовывая.
Где у вас???
Я ссылку ни на какой пример не давал!
Пропиши и проверь - делов две секунды)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2928
googlebot:
прикольный у Вас htaccess
Мне нужно было очень быстро решить вопрос с переадресацией, единственный первый сработавший метод был этот - над правильностью не запаривался - главное на тот момент было чтоб все работало.
И самое главное переадресовывает что угодно, от куда угодно и куда угодно!
Но если вы будете более любезны и объясните почему так нельзя - я буду вам благодарен как и другие пользователи которым это понадобиться.
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1551
googlebot:

Содержимое url_rewrite.php и .htaccess покажите.

стандартное содержание файлов
+ этот код
Код PHP:
  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]
  3. RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
и этот код везде работает правильно
пробовал и все варианты которые тут предложены, но .....
всё как заколдовано ))))
может таки на хосте проблема, но какая тогда проблема, я лично ума не приложу
Ну типа продвигаю сайты, по немногу и не напрягаясь. smile
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: