dle Изменить категории с /category/ на category.html, в сообщении убрать id

P
На сайте с 13.02.2011
Offline
73
2994

Добрый день

Есть 2 задачи

1. Изменить урл категории

site.ru/category/

нужно

site.ru/category.html

2. Выводить урл полной новости без ID и дефиса

сейчас

site.ru/7-novost.html

надо

site.ru/novost.html

Подскажите, пожалуйста, как решить.

Спасибо

Ragnarok
На сайте с 25.06.2010
Offline
239
#1

если это wordpress, то в настройках адресов есть такое

//TODO: перестать откладывать на потом
nokto
На сайте с 04.06.2009
Offline
17
#2

По поводу изменения адреса категории:

в файле .htaccess, который находится в корне сайта замените строку

RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]

на:

RewriteRule ^([^.]+).html?$ index.php?do=cat&category=$1 [L]

С новостями там немного сложнее.

P
На сайте с 13.02.2011
Offline
73
#3
nokto:
С новостями там немного сложнее.

Но реализация возможна? Может подскажите как? Я отблагодарю

Marmelad
На сайте с 07.05.2010
Offline
62
#4

не сочтите за флуд, но когда искал нашел на этом форуме, что реализация с ид возможна, но там сказали, что нужен сторонний хак и я от этой идеи отказался.

Думаю вам стоит обратится к прогеру, который работает с дле.

Продвижение сайтов от 10.000 руб/мес. (http://e-atom.ru/)
vanea84
На сайте с 09.01.2010
Offline
56
#5

Сделаю. 15. Вмз

nokto
На сайте с 04.06.2009
Offline
17
#6

1. В админке > настройки системы изменить ЧПУ на Тип 3.

2. Открываем файл .htaccess

Заменяем

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6 [L]

На

RewriteRule ^(.*).html(/?)+$ index.php?subaction=showfull&news_name=$1 [L]

3. Открываем engine/engine.php

Ищем

$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";

Заменяем на

$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' LIMIT 0,1";

4. Открываем engine/modules/show.short

$full_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html";

Заменяем на

$full_link = $config['http_home_url'] . $row['alt_name'] . ".html";

Только прийдется в каждом модуле изменять адрес на полную новость, или же не будет работать вывод. Выше показал как изменить в короткой новости.

P
На сайте с 13.02.2011
Offline
73
#7
nokto:
По поводу изменения адреса категории:

в файле .htaccess, который находится в корне сайта замените строку

RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]

на:

RewriteRule ^([^.]+).html?$ index.php?do=cat&category=$1 [L]

С новостями там немного сложнее.

Изменил, но при клике на категорию, он пытается найти site.ru/category/

т.е. на морде ссылки формируются по старому

если же руками вбить - все ок

подскажите, пожалуйста

nokto
На сайте с 04.06.2009
Offline
17
#8

нужно в файлах show.short и show.full править вывод ссылки на категорию. или там, где она выводится

AB
На сайте с 02.03.2010
Offline
19
#9

Здравстуйте

а как реализовать на 2 ЧПУ

надо только ID новости убрать.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий