20 окт. 2012 г.

osCommerce 500 ошибка после переноса

Описание проблемы

После переноса сайта на osCommerce между серверами для всех страниц стала выдаваться ошибка 500, при этом сайт выглядел нормально. Т.е. в заголовке возвращается код 500 и потом нормальное содержание страницы и браузер всё показывает правильно. Обнаружился баг в тот момент, когда ajax-скрипт отказался принять ответ сервера с кодом 500 и работать не стал.

В процессе поисков минимальное изменение которое нужно было внести для исправления ошибки:

Файл
includes/functions/html_output.php
строка 36
if (SEO_ENABLED == 'true')

дописал в неё "FALSE &&"
и стало 
if (FALSE && SEO_ENABLED == 'true')

Через несколько часов заметили, что все ссылки на сайте изменились, так что включил SEO обратно - для отладки.
После включения ошибка 500 не вернулась, стал отдаваться обычный код 200.

Причина

Точная причина осталась непонятной. Предполагаю, что в файле seo.class.php происходит обращение к самому сайту по доменному имени, при этом пока dns-кэш не обновился - запросы уходили на старый сервер, где сайт уже был выключен.

Решение

В данном случае всё решилось просто путем ожидания.

Комментариев нет:

Отправить комментарий