Прикрутил вчера к своему блогу Prodating.ru модуль FeedBurner. На данный момент модуль с состоянии Beta3, работает нормально. При подключении к http://prodating.ru/rss.xml происходит 307 редирект (это настраивается в admin/settings/feedburner) на http://feedproxy.google.com/prodatingru. В настройках можно указать и свой домен, например http://feed.prodating.ru/
Только после установки увидел одну неприятную вещь, прикрученный "зажженый фид" (так они сами это называют по-русски) имеющий в тексте относительные ссылки подставляет http://feedproxy.google.com в качестве домена.
воскресенье, 24 августа 2008 г.
вторник, 19 августа 2008 г.
Установка модуля без предварительной обкатки и Законы Мерфи
Все модули, которые я ставил после запуска блога prodating.ru, сначала проходили обкатку на локальном сервере под Денвером. После этого я как послушный мальчик делал резервную копию рабочего сайта и далее по инструкции, с переводом в режим технического обслуживания и т.д.
И тут после установки pathauto я решил дополнить его рекомендуемым модулем Global Redirect. При этом предварительно посмотрел содержание модуля. Оказалось, Global Redirect простой и содержит 1 файл размером меньше 4кб, никаких изменений в БД не вносит. Действительно, вся работа грубо говоря сводится к проверке наличия алиаса функцией drupal_get_path_alias и при обнаружении такового делаем drupal_goto с параметром 301.
На деле оказалось не так просто. Подключив модуль без всяких лишних телодвижений с тестированием бекапом и т.п. я тут же получил зацикленный 301 редирект всего, кроме главной страницы.
И так как не было возможности ни отключить модуль, ни даже зайти в админку, в т.ч. используя пути index.php?q=tra-ta-ta (с чем кстати и борется Global Redirect), пришлось быстренько подправлять код. Обошлось без потерь простым return FALSE; в начале функции. Но главное сработал один из Законов Мерфи который по-русски называется "западло". :)
Разбираться что-как-почему не стал, посмотрел issues к модулю, есть Endless loop with translation (D6), судя по последним комментариям как раз подходит под мою проблему. Модуль pathauto ставился со взглядом на ближайшие изменения в структуре блога prodating.ru, но до них пока не дошел. Собственно и пост написан про "западло" :)
добавлено:
После публикации поста грех было не покопаться. Проблема где-то здесь:
И тут после установки pathauto я решил дополнить его рекомендуемым модулем Global Redirect. При этом предварительно посмотрел содержание модуля. Оказалось, Global Redirect простой и содержит 1 файл размером меньше 4кб, никаких изменений в БД не вносит. Действительно, вся работа грубо говоря сводится к проверке наличия алиаса функцией drupal_get_path_alias и при обнаружении такового делаем drupal_goto с параметром 301.
На деле оказалось не так просто. Подключив модуль без всяких лишних телодвижений с тестированием бекапом и т.п. я тут же получил зацикленный 301 редирект всего, кроме главной страницы.
И так как не было возможности ни отключить модуль, ни даже зайти в админку, в т.ч. используя пути index.php?q=tra-ta-ta (с чем кстати и борется Global Redirect), пришлось быстренько подправлять код. Обошлось без потерь простым return FALSE; в начале функции. Но главное сработал один из Законов Мерфи который по-русски называется "западло". :)
Разбираться что-как-почему не стал, посмотрел issues к модулю, есть Endless loop with translation (D6), судя по последним комментариям как раз подходит под мою проблему. Модуль pathauto ставился со взглядом на ближайшие изменения в структуре блога prodating.ru, но до них пока не дошел. Собственно и пост написан про "западло" :)
добавлено:
После публикации поста грех было не покопаться. Проблема где-то здесь:
// Compare the request to the alias. If we have a language prefix then prefix the alias and compare. This also works as a 'deslashing' agent too
if ((empty($language->prefix) ? $alias : $language->prefix .'/'. $alias) != $_REQUEST['q']) {
drupal_goto($alias, $query_string, NULL, 301);
}
Ярлыки:
Drupal
Подписаться на:
Сообщения (Atom)