На стандартной установке не работают ЧПУ
Всё сделано по статье о стандартной установки (кстати, великолепная статья!). Темплейты, первые несколько категорий и ЧПУ настроены по видео быстрого старта. Но урлы дружественными не стали. Пробовал менять конфиг сайта по инструкции на rtfm.modx.com/display/revolution20/Nginx+Server+Config — без результата. Ошибок нет. Логирование rewrite в конфиге включено.
Хостинг на AWS, ubuntu 12.04.
Вопрос: какие подводные камни могут здесь быть, в каком направлении копать? Буду благодарен за ответы!
Хостинг на AWS, ubuntu 12.04.
Вопрос: какие подводные камни могут здесь быть, в каком направлении копать? Буду благодарен за ответы!
Комментарии: 12
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Настроить Nginx и изменить настройки:
И кэш в менеджере чищу, и кэш в браузере отключен. А всё никак не работает.
В файле /core/cache/logs/error.log нашёл вот такое:
[2012-11-28 09:29:08] (ERROR @ /index.php) `[[+id]]` is not a valid integer and may not be passed to makeUrl()
Может быть, здесь собака зарыта?
Если первое — то с MODX все ок, гоняйте Nginx, если второе — то разбирайтесь с движком. Неужели так трудно логично подумать?
Понятно, что найти можно всё, если закопаться в коде, но вопрос и задавался в надежде на имеющийся опыт.
Попробуйте удалить директорию /core/cache/.
Нужно открыть файл modx.class.php (сайт\core\model\modx\modx.class.php)
Далее ищете строку:
Заменяете её вот на это. (на всякий случай бэкап файла сделайте modx.class.php)
Сохраните файл и поюзайте сайт что бы спровоцировать ошибку, а потом откройте лог.
Там будет примерно вот что:
item #0 содержит некорректный вызов makeUrl(), а в item #3: показан чанк в котором нужно внести изменение, скорее всего заменить [[+id]] на [[*id]] или [[~[[+id]]]] заменить на [[~[[*id]]]].
Не забудьте откатить modx.class.php
Вообще, ЧПУ в навигации и крошках заработал после того, как всем документам-папкам были прописаны поля «Пункт меню».
Пока осталась проблема с неработающей вложенностью: там, где в getPage вызывается msGetResources вложенности нет, а если использовать getResources она появляется. То есть, с исходными шаблонами Bootstrap все папки «находятся» в корне сайта, без учета реальной структуры и вложенности в дереве админки. Скорее всего, я что-то упустил из виду.
по проблеме: попробуйте сами в урл прописать путь к любому документу n-вложенности (n>1) для проверки работает ли всетаки она. нет — смотрим ошибки, правим. да — думаем дальше)
Видимо, стоит смотреть в сторону msGetResources.