Evgeny Epifanov

Evgeny Epifanov

Был в сети 29 мая 2026, 13:30
Заказы принимаю
Снова установил Redirector. Сделал, как писал Александр выше. Но не сразу обратил внимание на такое поведение:
Заходим на несуществующую страницу, по логике и всем правилам мы должны получить 404 ошибку и MODx должен перенаправить нас на соответствующую страницу. Но Redirector поступает иначе, он отдает 301 код и редиректит нас на редирект с id-1 (в моем случае это как раз страница с 404 ошибкой).
Что мы получаем в итоге:
Пользователю в общем-то пофиг, он понимает что произошло.
А вот для поисковиков бардак. Он заходит на несуществующую страницу, его редиректят на страницу 404, которая отдает код 200.
Я недавно полностью обновил сайт, разумеется все URL'ы поменялись. Теперь не знаю каких репрессий ждать. Уже несколько тысяч таких редиректов. + в логе появились ошибки такого типа:
[2014-10-11 23:43:37] (ERROR @ /index.php) Error parsing condition with key 0: ('error-404.html321321' REGEXP `modRedirect`.`pattern` OR 'error-404.html321321' REGEXP CONCAT('^', `modRedirect`.`pattern`, '$'))
Кто подскажет что сделать?
Вообще, если это перенос, то по хорошему нужно всем старым страницам нужно прописать редиректы на новые страницы, тогда Redirector в помощь. А так, если 404 станица настроена, MODx сам на нее должен редиректить. В том же Redirector'e можно настроить редирект на 404. Ну и как вариант в robots.txt поставить запрет на индексацию.
Вот до этого и внимания не обращал.
Лично у меня с «index.php/хотьчто/» все нормально 404 ошибка. А вот «site.ru/index.php» работает. Прописал в nginx (по аналогии с index.html):
location /index.php {
                rewrite                 / / permanent;
        }
результата не дало.
Также есть проблемы с:
site.ru/catalogue/index.html(.php) -> редирект на site.ru// (именно два слеша на конце), а должно быть на site.ru/catalugue/
если на главной или в категории в конце поставить сколько угодно слешей, то страница все равно отдаст код 200