[Решено] Error 310 - слишком много редиректов

Главные вкладки

Аватар пользователя Danbo Danbo 25 декабря 2011 в 11:23

Здравствуйте.

Сегодня Drupal предложил обновить модули на сайте, 5 штук. Обновил... теперь на сайте бесконечный редирект типа The webpage at http://site.ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/ru/... has resulted in too many redirects. Clearing your cookies for this site or allowing third-party cookies may fix the problem. If not, it is possibly a server configuration issue and not a problem with your computer.

Зайти на сайт не получается. Что следует сделать в первую очередь, чтобы восстановить работу сайта? Просто раньше такого не случалось.

Комментарии

Аватар пользователя Chyvakoff Chyvakoff 25 декабря 2011 в 11:47

С тем же самым столкнулся 5 минут назад))
то что из-за него-это понятно... никто незнает как подружить Global Redirect с русскими доменами?

Аватар пользователя Danbo Danbo 25 декабря 2011 в 12:15

Я вот сразу с перепугу поставил dev версию Global Redirect (красную), теперь вот захотел поставить стабильную 1.3, но возник косяк с его удалением. Через админку пытался удалил, но он реально не удалился, не дает поставить 1.3. Также папки с этим модулем нет на самом хостинге через ФТП. Хотя предыдущий глючный 1.4 я удалял именно через ФТП. Кэш почищен.

Аж смешно, включил снова dev в админке (он же не удалился почему-то), так теперь возникла ошибка с перенаправлением, а удалять нечего на ФТП.

---
Фух, блин. Закинул папку с 1.3 в modules, хоть внешне там и не было такой папки, но предложили заменить уже существующую... потом проявилась сама папка.

Аватар пользователя Chyvakoff Chyvakoff 25 декабря 2011 в 12:27

Danbo wrote:

Фух, блин. Закинул папку с 1.3 в modules, хоть внешне там и не было такой папки, но предложили заменить уже существующую... потом проявилась сама папка.

Обновить надо было окно с папками на FTP )))

Аватар пользователя Geldora Geldora 25 декабря 2011 в 16:29

Решение простое.

  1. Чтобы попасть на сайт отключаем Глобал Редирект (через драш, базу или удалением модуля)
  2. Потом в админке заходим в Языки и убираем префикс у дефолтного языка. Т.е. у русского по умолчанию стоит ru, удаляем этот префикс.
  3. Все! Дальше можно заново включить Глобал Редирект.
Аватар пользователя vmogila vmogila 27 февраля 2012 в 14:13

Geldora wrote:
Потом в админке заходим в Языки и убираем префикс у дефолтного языка. Т.е. у русского по умолчанию стоит ru, удаляем этот префикс.

Здравствуйте. Если речь идет о Drupal7, где точнее в языках вы убираете этот префикс?
Здесь можно изменить только способ определения языка, префикс или домен: /admin/config/regional/language/configure/url
Вы это имели ввиду?

Аватар пользователя Geldora Geldora 1 марта 2012 в 23:27

"vmogila" wrote:
Здесь можно изменить только способ определения языка, префикс или домен: /admin/config/regional/language/configure/url
Вы это имели ввиду?

Нет. Нужно изменить в настройках самого языка: /admin/config/regional/language/edit/ru

Ну или опробовать в общем для всех изменить настройку.

Аватар пользователя vmogila vmogila 2 марта 2012 в 0:53

Спасибо. Уже разобрался где записаны префиксы. Да, это помогает. Жалко, что баг в Global Redirect до сих пор не исправлен.

Аватар пользователя Stroitel Stroitel 20 ноября 2012 в 4:09

В четверг поставил себе Global Redirect 7.x-1.5 настроил - все работает - всем доволен. Естественно, что снала как только мог протестировал на домашнем сервере...

Каково было мое удивление, когда гугл отчитался почти о сотне недоступных урлов вида site.com/ru/ru/contenturl и site.com/ru/uk/contenturl (откуда он их накопал незнаю, распространенной проблемы из 1,4 с ru/ru/ru/ru на тестах не наблюдалось - был уверен что пофиксили проблему, потому на "боевой" сервер и поставил модуль)

У меня на сайте рус и укр языки. и мне надо чтобы префикс языка был в урле. Поэтому метод "убрать префикс дефолтного языка" мне не подходит. Да и проиндексировано уже не мало страниц с префиксом дефолтного (русского). Если префикса нету - (например http://clubstroitel.com/news ) - то префикс доставится автоматом. На основании правил (дефолтный русский, но если у пользователя в браузере указан украинский, а из урл или сессии друпал не может взять другой язык - то поставит укр. Так и задумывалось - все довольны)

Я, конечно понимаю, что бороться с редиректами глобалредиректа добавлением редиректов в хтакесс -это как-то.... загадочно, но тем не менее - нашел себе временное решение, которое, возможно, кому-то будет интересно.
RewriteRule ^(ru/ru/)(.*) http://clubstroitel.com/ru/$2 [R=301,L]
RewriteRule ^(ru/uk/)(.*) http://clubstroitel.com/uk/$2 [R=301,L]

Пока решил себе это так. Посмотрим как события дальше будут развиваться

Аватар пользователя Stroitel Stroitel 27 ноября 2012 в 4:27

Как вариант - возможно проблема появилась из-за включения в ГР опции показывать каноникал урл. Он показывает его как ОТНОСИТЕЛЬНЫЙ путь. Снял отметку с этого пункта в ГР, и оставил в метатег. Модуль метатег - показывает каноникал абсолютным путем. Думаю, скорее всего проблема была из-за этого.
Возможно, кому-то пригодится