При добавлении нового материала каждой новости автоматически присваивается ID, который в последствии вставляется в URL адрес новости. Хак убирает ID вставку и переадресует со старых адресов новостей на новые. Работает со всеми версиями движка, начиная с 8.5
До установки хака:
http://nulled-club.ru/dle/modules/106-referer-87.html
После установки:
http://nulled-club.ru/dle/modules/moduls-87.html
Как убрать ID публикации из URL новости:
1. Открываем файл /engine/engine.php и ищем код:
// ################ Новость целиком #################
if ($subaction != '' or $newsid) {
if (! $newsid) $sql_news = "SELECT id, autor, date, short_story, full_story, xfields, title, category, descr, keywords, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, approve, votes, access, flag, editdate, editor, reason, view_edit, tags, metatitle FROM " . PREFIX . "_post WHERE alt_name ='$news_name' AND date >= '{$year}-{$month}-{$day}' AND date < '{$year}-{$month}-{$day}' + INTERVAL 24 HOUR LIMIT 0,1";
else $sql_news = "SELECT id, autor, date, short_story, full_story, xfields, title, category, descr, keywords, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, approve, votes, access, flag, editdate, editor, reason, view_edit, tags, metatitle FROM " . PREFIX . "_post where id = '$newsid'";
if ($subaction == '') $subaction = "showfull";
}
}
заменяем на:
// ################ Новость целиком #################
if ($subaction != \"\" or $newsid) {
if (! $newsid) $sql_news = \"SELECT id, autor, date, short_story, full_story, xfields, title, category, descr, keywords, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, approve, votes, access, flag, editdate, editor, reason, view_edit, tags, metatitle FROM \" . PREFIX . \"_post WHERE alt_name =\"$news_name\" AND date >= \"{$year}-{$month}-{$day}\" AND date 0){
header(\"HTTP/1.1 301 Moved Permanently\");
header(\"Location: \".$config[\"home_url\"].$res[\"2\"].\".html\");
exit;
}
найти:
$news_found = TRUE;
if($config[\"allow_alt_url\"] == \"yes\"){
preg_match( \"/\".$row[\"id\"].\"-(.*?).html/is\" , $_SERVER[\"REQUEST_URI\"] , $parse_alt_name );
if($row[\"alt_name\"] != trim($parse_alt_name[1]) )$news_found = FALSE; if( !$news_found ) break;
}
Далее:
http://nulled-club.ru/hacks/9-ubiraem-id-novosti-iz-url-adresa-publikacii.html