| Навигация по сайту |
| |
|
 |
|
|
 |
|
 |
| |
Баг-фикс заключается в том, что при использовании 1 или 2 вида ЧПУ, новость отображается по любому, даже не существующему URL'у. Например данная новость http://dle-infa.ru/mods/148-otobrazhenie-novosti-po-lyubomu-url.html могла отобразится и по http://dle-infa.ru/mods/148-privet.html, и по http://dle-infa.ru/mods/148-good-news.html и т.д.
Для исправления данной ошибки необходимо:
- Открываем .htaccess в корне сайта
- Находим:
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$4&news_page=$2&cstart=$3 [L] RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$2 [L] RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$2&newsid=$3 [L] RewriteRule ^([^.]+)/([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2 [L]
RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$1&cstart=$2 [L] RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2&news_page=$1 [L] RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$1&newsid=$2 [L] RewriteRule ^([0-9]+)-(.*).html(/?)+$ index.php?newsid=$1 [L]
- Заменяем на:
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$4&news_page=$2&cstart=$3&news_name=$5 [L] RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$2&news_name=$4 [L] RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$2&newsid=$3&news_name=$4 [L] RewriteRule ^([^.]+)/([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2&news_name=$3 [L]
RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$1&cstart=$2&news_name=$4 [L] RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2&news_page=$1&news_name=$3 [L] RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$1&newsid=$2&news_name=$3 [L] RewriteRule ^([0-9]+)-(.*).html(/?)+$ index.php?newsid=$1&news_name=$2 [L]
- Открываем engine/modules/show.full.php
- Открываем engine/ajax/addcomments.php
- Находим:
$user_group = get_vars( "usergroup" );
- Выше вставляем:
$cat_info = get_vars ( "category" ); if ( ! is_array ( $cat_info ) ){ $cat_info = array (); $db->query ( "SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC" ); while ( $row = $db->get_row () ) { $cat_info[$row['id']] = array (); foreach ( $row as $key => $value ) { $cat_info[$row['id']][$key] = stripslashes ( $value ); } } set_vars ( "category", $cat_info ); $db->free (); }
- Открываем engine/modules/addcomments.php
- Находим:
$row['template'] = str_replace( "{%link%}", $config['http_home_url'] . "index.php?newsid=" . $post_id, $row['template'] );
- Заменяем на:
if ( $config['allow_alt_url'] == 'yes' ) { $row1 = $db->super_query( "SELECT id, alt_name, flag, category, date FROM " . PREFIX . "_post WHERE id='$post_id' LIMIT 0,1" );
if ( $row1['flag'] and $config['seo_type'] ) { if ( $row1['category'] and $config['seo_type'] == 2 ) $link = $config['http_home_url'] . get_url( intval( $row1['category'] ) ) . '/' . $row1['id'] . '-' . $row1['alt_name'] . '.html'; else $link = $config['http_home_url'] . $row1['id'] . '-' . $row1['alt_name'] . '.html'; } else $link = $config['http_home_url'] . date( 'Y/m/d/', $row1['date'] ) . $row1['alt_name'] . '.html'; } else $link = $config['http_home_url'] . 'index.php?newsid=' . $post_id; $row['template'] = str_replace( "{%link%}", $link, $row['template'] );
- Создайте пустой файл info.tpl в папки templates.
- Радуемся, теперь при изменении URL будет выдаваться ошибка 404, о не существовании данной страницы.
|
|
 |
|
 |
| |
Версия DLE: Все
Автор: Брупт (dle-infa.ru)
Категории новости: Баг-фиксы Ключевые слова новости: url, новости, отображение, баг, чпу
Новость Отображение новости по любому URL была отредактирована Брупт 5 января 2011.
Причина: Ошибка при использовании подписки
|
|
 |
|
 |
| |
|
|
 |
|
 |
 |
#6 Автор комментария: Брупт Дата написания комментария: 5 января 2011 19:06 |
 |
| |
 Дата рег.: 16.04.2009 Комментариев: 82 Публикаций: 167 | Цитата: Yeti - в категории косяк Ошибка будет только при публикации новости в несколько категорий Спасибо, исправил.
| | цитировать |
|
|
 |
|
 |
 |
#10 Автор комментария: SEOshnik Дата написания комментария: 6 января 2011 02:40 |
 |
| |
 Дата рег.: 3.01.2011 Комментариев: 12 Публикаций: 0 | Цитата: Брупт Спасибо, исправил. А что именно и где исправить то нужно, а то ведь многие, как и я, уже установили по старой инструкции.
| | цитировать |
|
|
 |
|
 |
 |
#11 Автор комментария: Брупт Дата написания комментария: 6 января 2011 13:40 |
 |
| |
 Дата рег.: 16.04.2009 Комментариев: 82 Публикаций: 167 | Цитата: SEOshnik А что именно и где исправить то нужно, а то ведь многие, как и я, уже установили по старой инструкции. Выполнить 3 пункт и обновить код из 4 пункта.
| | цитировать |
|
|
 |
|
 |
|
|
| Популярные новости |
|
|
 |
|