Форуми / National / Russian / Вопросы и пожелания к движку

Для юзеров Seditio и новичков

Yusupov
#30175 11.07.2011 12:09

Всем привет! Давно сюда не заходил. Вот решил написать. В 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 років тому)