Периодичесики перестают работать алиасы

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

Аватар пользователя roomit roomit 25 октября 2017 в 11:34

Есть действующий сайт (drupal 8.4, сервер на nginx). Из более, чем 2000 материалов время от времения (раз в 2-3 дня) перестают работать алиасы, определенные вручную, для нескольких нод. Алиасы не содержат каких-то спецсимволов и тп. (например, /opendata). В логах - только сообщение, о том, что страница не найдена (детальной информации об ошибке нет). Временно помогает только очистка кэша (опять же на пару дней).

Не знаю, связанно ди это с первой проблемой, но после очистки кэша иногда слетают заголовки в представлении, формируемом с помощью exposed filters. Лечится опять же с помощью повторной очистки кэша в админке.

Похожая ситуация обсуждается на англоязычных форумах и пока конкретного решения найти по ней не смог:

ERROR 404 after a while, clear cache fixes it
Combination of language negotiation and path aliasing can cause a corrupted route cache, 404s

Сталкивался ли кто-нибудь с такой проблемой и как решаете ее?

Лучший ответ

Аватар пользователя roomit roomit 25 октября 2017 в 14:33
2

Пишу, чтобы тем, у кого возникнет такая проблема, было проще в ней разобраться. Начитавшись комментариев в ветке Combination of language negotiation and path aliasing can cause a corrupted route cache, 404s, понял следующее.

Если у вас есть тип материал, в котором есть поле типа "Link", содержащее внутренние ссылки на материалы сайта, то с большой вероятностью алиасы этих материалов будут периодически переставать работать и будете получать 404 ошибку при обращении к ним.

Переделал тип поля, буду наблюдать в течение недели. Отпишусь о результатах.

Комментарии

Аватар пользователя mbaev mbaev 25 октября 2017 в 13:05

Ощущается где-то подвох, но чтобы понять где, нужно глубоко залезть собственными ручками и провести исследование. Так сложно ответить.

С такими проблемами не сталкивался, но я ещё не обновлялся до 8.4.

Аватар пользователя roomit roomit 25 октября 2017 в 14:33
2

Пишу, чтобы тем, у кого возникнет такая проблема, было проще в ней разобраться. Начитавшись комментариев в ветке Combination of language negotiation and path aliasing can cause a corrupted route cache, 404s, понял следующее.

Если у вас есть тип материал, в котором есть поле типа "Link", содержащее внутренние ссылки на материалы сайта, то с большой вероятностью алиасы этих материалов будут периодически переставать работать и будете получать 404 ошибку при обращении к ним.

Переделал тип поля, буду наблюдать в течение недели. Отпишусь о результатах.

Аватар пользователя roomit roomit 27 октября 2017 в 21:31
1

roomit wrote:

Переделал тип поля, буду наблюдать в течение недели. Отпишусь о результатах.

Версия подтверждена!

Если в каком-либо материале в поле типа "Ссылка" (внутренняя) указан алиас (например, /contacts), то при обращении к ноде, имеющей этот алиас, часто будете получать 404 ошибку.

Аватар пользователя roomit roomit 28 октября 2017 в 22:07

Ссылок на представления не было, точно сказать не могу. Но допускаю, что может возникнуть та же ситуация.

Аватар пользователя digital_sword digital_sword 7 ноября 2017 в 22:26

Может это из-за какого-то кэширования? Может отключить кэширование и включить boost, например? Или выключить big pig?
Или из-за версии php?

Почему это есть не у всех интересно?