Синонимы создаются, но не используются [решено]

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

Аватар пользователя zanami zanami 12 июля 2010 в 7:42

Проблема с Pathauto или с синонимами/редиректами во всяком случае. Началось после какого-то апдейта, сейчас у меня 6.17 Acquia. Синонимы создаются, но не используются ни в меню, ни во views. Более того, если посмотреть список сгенерированных синонимов, скопировать "чистый" путь и попытаться загрузить страничку, то с некой вероятностью получается 404 ошибка — такой страницы нет. А некоторые работают. Судя по ИДам, 404 ошибка возникает для "старых" материалов, созданных еще до апдейта. Других отличий не нашел.

При редактировании поле ввода и у новых и у старых нод одинаково отключено, стоит галка "автоматические синонимы" и в поле вписан корректный синоним. Но работает не везде.

Использую такой шаблон: [termpath-raw]/[title-raw]-[nid]
Удаление и массовая генерация синонимов работает, но эффекта никакого нет.

Включен Global Redirect, но его отключение никакого эффекта не дает.
Кеш отключен вовсе.

Кто-нибудь сталкивался с такими спецэффектами? Какой дорогой выбираться? Отключить pathauto (а то и path) попробовать?

Добавлено

Pathauto (не знаю с какой версии начиная) при генерации синонима (лежат в табличке url_alias) проставляет ему тот же язык, которым помечена нода. Я в какой-то момент (после создания некоторого количества материалов) добавил русский язык и отключил английский. Старые ноды остались с language=en, новые создавались с language=ru. Синонимы аналогично. Я просто сманил язык нодам и синонимам через phpmyadmin. Работает.

Комментарии

Аватар пользователя G.A. Vinogradov G.A. Vinogradov 12 июля 2010 в 7:52

Еще какие-нибудь модули по работе с УРЛами есть? URL Alter например. Есть ли функции custom_url_rewrite_inbound, custom_url_rewrite_outbound?
Кеш - почистить! На самом деле Друпал кое-что кэширует вне зависимости от настроек.

Аватар пользователя zanami zanami 12 июля 2010 в 8:48

Ничего такого нет. Отключение pathauto и path не помогло. Удалить настройки можно только для pathauto, но проблема не в нем — с отключенным pathauto и включенным path такие же проблемы — на "старых" нодах и вручную назначенные алиасы не работают. Вероятно, надо будет лезнь в базу ручками и сравнивать там. Удалить настройки и данные path по-простому нельзя, как я понял.

Аватар пользователя zanami zanami 12 июля 2010 в 8:17

Кеш почистил. Других модулей нет. Только что обнаружил еще один симптом — на "старых" материалах я не могу и вручную задать синоним. Снимаю галку, меняю синоним — он сохраняется, но не используется все равно.

Аватар пользователя zanami zanami 12 июля 2010 в 9:07

Решил проблему. С апдейтами не связано. Раньше язык был один, английский. Потом добавил русский, английский отключил.
Старые ноды остались с признаком английского языка.

Решение: update`node` set language='ru'
Аналогично для таблицы url_alias, если они есть, либо массовая генерация, если там пусто.