Для юзеров Seditio и новичков
Yusupov |
|
---|---|
Всем привет! Давно сюда не заходил. Вот решил написать. В Genoa есть одна проблема, которая до сих пор не решена. Это неправильная обработка 404 ошибки если какого-то документа не существует. Обычно если документ не найден на сайте, запускается стандартная функция sed_die(). Но она неправильно обрабатывается с точки зрения поисковиков - идет редирект и выдача 302 ошибки (то есть документ перемещен). Приходится вносить небольшой хак в код. Вот мой пример: Создаем новый файл в корне сайта, например 404.php с любым html-кодом, который сообщает пользователям о 404 ошибке. Дальше нужно добавить кастомную функцию в system/functions.custom.php : function sed_notfound($cond=TRUE) { if ($cond) { header("HTTP/1.1 404 Not Found"); include('404.php'); exit; } return FALSE; } Теперь надо заменить в файле page.inc.php строку sed_die(sed_sql_numrows($sql)==0); на sed_notfound(sed_sql_numrows($sql)==0); Вот и все. Конечно это не универсальный вариант, но приходится прибегать к таким мерам, пока не появится какое-то универсальное решение на уровне ядра системы. Вопрос к разработчикам, будут ли какие-то продвижения в данном вопросе? Мне кажется это принципиальный вопрос, так как есть разница между 302 и 404 ошибкой, и перенаправление это не решение проблемы. Поисковики такие сайты долго индексируют и порой им приходится индексировать страницы, которые уже давно не существуют. P.S.: странно что в хроме не видно визуального редактора. |
|
Відредаговано: Yusupov (11.07.2011 12:31, 13 років тому) |