Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Модули для DLE » 0.18 Короткая ссылка на новости (site.ru/{id}) [плагин]

0.18 Короткая ссылка на новости (site.ru/{id}) [плагин]


     08.10.2019    Модули для DLE    469    34 комментария

Краткая информация о модуле (хаке)

Автор: dj-avtosh
Версия DLE: 13
Контакты: telegram: @blob42
Условия продажи: Freeware
Цена: Бесплатно
Легкий и быстрый плагин для изменения ссылок по всему сайту.

Для работы решения должен быть установлен тип SEO-ссылок: 1 или 2

Превращает по всему сайту ссылки: site.ru/{cat}/text-{id} в site.ru/{id}


Способ установки:

1. Загрузить и установить плагин в админке (/admin.php?mod=plugins)
2. Прописать правила:

- Для apache2 (httpd) [файл .htaccess] (желательно выше всех правил):

RewriteRule ^([0-9]+)(/?)+$ index.php?newsid=$1 [L]


- Для nginx [conf-файл из /etc/nginx.conf]:

rewrite ^/([0-9]+)(/?)+$ /index.php?newsid=$1 last;


--------------------------------------------------------------------------------------------------------------

P.S.

Если вы хотите ссылку site.ru/123.html, тогда открываем плагин и

$newsPattern = "$1";
$newsCommentsPattern = "$3";


заменяем на

$newsPattern = "$1.html";
$newsCommentsPattern = "$3.html";


и переделываем правила apache2 или nginx


А так же (если вам нужна переадресация со старых адресов на новый, то должно в .htaccess работать такое):

Тип ЧПУ 1:
RewriteRule ^([0-9]+)-(.*).html$ /$1 [R=301,L]



Тип ЧПУ 2:
RewriteRule ^([^.]+)/([0-9]+)-(.*).html$ /$2 [R=301,L]


* можно добавить оба - будет работать.


------------------------------

* не меняются ссылки в BlockPro? есть решение:

engine/modules/base/core/base.php

все что с :

 $url = ... 



меняем на:

$url = $this->dle_config['http_home_url'] . $data['id'];


----------------------------

Скачать плагин (версия 0.18): news-new-link-type.xml.zip [1,76 Kb] (cкачиваний: 12)

Отредактировал 9-10-2019, 16:51 - dj-avtosh
Причина: Исправлена постраничная навигация в комментариях внутри новости, исправлены ссылки при генерации в sitemap - просьба перекачать!

34 комментария

dj-avtosh
php-developer

dj-avtosh - 3 октября 2019 15:36 -

Комментарий для плюсов.

Добавил версию 0.18beta
- Исправлена постраничная навигация в новости
- Исправлена генерация sitemap

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

amnistik
Юзер

amnistik - 3 октября 2019 17:21 -

Спасибо тебе Добрый человек, давненько искал подобное решение!, только у меня почему то на DLE 13.2 не работает, карявит немного шаблон, и урл не изменился, при попытке удалить все кроме id выдает вообще хрень какуюто, новости за 1990 год,

dj-avtosh
php-developer

dj-avtosh - 3 октября 2019 18:55 -

Просьба попробовать обновленный и отписаться. В версии должно быть 0.12

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

amnistik
Юзер

amnistik - 3 октября 2019 20:07 -

Уже шаблон не ломает, но не переходит на полную новость, (что то пошло не так) а при клике (открыть в новой вкладке выдает такое https://prnt.sc/pegoo8

dj-avtosh
php-developer

dj-avtosh - 3 октября 2019 20:10 -

прописали ли условие в .htaccess?

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

amnistik
Юзер

amnistik - 3 октября 2019 20:23 -

Да прописал,
Извиняюсь, мой бок, забыл сохранить в .htaccess теперь все работает. Еще раз Спасибо!

dj-avtosh
php-developer

dj-avtosh - 3 октября 2019 20:36 -

всегда пожалуйста

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

amnistik
Юзер

amnistik - 5 октября 2019 11:32 -

Здравствуй, только обнаружил что теперь не хочет искать по сайту похожие новости https://prnt.sc/pf5jd8

dj-avtosh
php-developer

dj-avtosh - 5 октября 2019 12:21 -

Исправлено и перезалито.

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

shim
Юзер

shim - 5 октября 2019 16:28 -

DLE 13.3 Установил, прописал,почистил,обновил.
При переходе в полную новость
https://i.imgur.com/7pK0W3h.png

dj-avtosh
php-developer

dj-avtosh - 5 октября 2019 17:38 -

убедитесь, что прописали в .htaccess правило


RewriteRule ^([0-9]+)(/?)$ index.php?newsid=$1 [L]

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

shim
Юзер

shim - 5 октября 2019 17:44 -

прописал 100%

dj-avtosh
php-developer

dj-avtosh - 5 октября 2019 17:45 -

ошибка указывает именно на то, можете написать мне в телегу - посмотрю.

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

shim
Юзер

shim - 5 октября 2019 18:00 -

dj-avtosh, спасибо за помощь в решении, всё заработало
- Для apache2 (httpd) [файл .htaccess] (желательно выше всех правил):

dj-avtosh
php-developer

dj-avtosh - 5 октября 2019 18:01 -

спасибо за отзыв

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

pika
Юзер

pika - 5 октября 2019 23:52 -

Подскажите как сделать так (site.ru /248-id.html )

dj-avtosh
php-developer

dj-avtosh - 6 октября 2019 00:21 -

Внутри плагина ВСЕ (в 0.16 оно 2 раза)

$newsPattern = "$1";


меняем на

$newsPattern = "$1-id.html";


Правила для .htaccess будет такое:

RewriteRule ^([0-9]+)-id.html(/?)$ index.php?newsid=$1 [L]

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

pika
Юзер

pika - 6 октября 2019 01:07 -

Спасибо. а для старых новостей правила ( RewriteRule ^([0-9]+)-(.*)-id.html $ /$1 [R=301,L] ) Я полагаю так? Всё получилось спасибо ...

dj-avtosh
php-developer

dj-avtosh - 6 октября 2019 01:30 -

нет, правая часть должна соответствовать новому паттерну.

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

dj-avtosh
php-developer

dj-avtosh - 6 октября 2019 02:06 -

Тип ЧПУ 1:
RewriteRule ^([0-9]+)-(.*).html$ /$1-id.html [R=301,L]




Тип ЧПУ 2:
RewriteRule ^([^.]+)/([0-9]+)-(.*).html$ /$2-id.html [R=301,L]

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

dj-avtosh
php-developer

dj-avtosh - 6 октября 2019 02:41 -

а этот неправильный, его удалите.

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

pika
Юзер

pika - 6 октября 2019 02:21 -

Я всё делала правильно, но в админке нажимаешь просмотр , перекидывает на просто (site.ru /248 ) и выдаёт ошибку

dj-avtosh
php-developer

dj-avtosh - 6 октября 2019 02:53 -

уберите свой "придуманный" редирект. Я Вам написал верный ответ.

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

Sander
Эксперт

Sander - 8 октября 2019 15:08 -

Есть ряд причин, почему я никогда не хотел браться за разработку такого модуля:
1. Обработка неправильных URL адресов
2. Карта сайта.
3. Быстрый поиск (и find_relates.php).
3. {PAGEBREAK} - постраничная навигация в новости
4. Постраничная навигация в комментах
5. Версия для печати.
6. Все сторонние модули не использующие класс dle_templates при ajax выводе

В остальном по сути наверно и нет необходимости в модуле, достаточно правки в htaccess и в шаблоне просто прописывать адрес: example.com/{news-id}

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

dj-avtosh
php-developer

dj-avtosh - 8 октября 2019 15:17 -

А никто и не спорит, что всегда есть узкие места - для этого тут и создано обсуждение.

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

dj-avtosh
php-developer

dj-avtosh - 8 октября 2019 15:22 -

2. Карта сайта.


Исправлено

3. Быстрый поиск (и find_relates.php).


учтено в плагине


4. Постраничная навигация в комментах


спасибо за замечание, исправлено.

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

Afro11
Юзер

Afro11 - 9 октября 2019 05:56 -

А можно данным плагином менять чпу на адрес новости следующего вида:
site/батареи/имя новости/

батареи-постоянное слово, не категория

???

dj-avtosh
php-developer

dj-avtosh - 9 октября 2019 11:42 -

имя новости? можно id новости.

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

Afro11
Юзер

Afro11 - 9 октября 2019 11:48 -

не, с id все понятно, именно alt_name, как в чпу 1, только без id, без html и с произвольным словом после урла сайта

dj-avtosh
php-developer

dj-avtosh - 9 октября 2019 12:00 -

В DLE id является ключевым параметром. Так что нет. Либо во всех скриптах получать id по alt_name. Данный плагин делает совсем другое.

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

dj-avtosh
php-developer

dj-avtosh - 9 октября 2019 12:01 -

Ссылку плагин Вам построит, просто новости открываться не будут.

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

Kentavr
Юзер

Kentavr - Вчера, 17:32 -

Автор подскажи пожалуйста как сделать чтобы в конце всегда был слеш например http://site.ru/3995/

dj-avtosh
php-developer

dj-avtosh - Вчера, 20:52 -

использовать в обоих местах такой паттерн:

$newsPattern = "$1/";

ЯД Донат: 41001679231462

telegram: @blob42
skype: elhan.isaev (seldom)

Kentavr
Юзер

Kentavr - Вчера, 22:59 -

Спасибо за ответ и за плагин. Классная штука!

Чтобы комментировать - войдите или зарегистрируйтесь на сайте
наверх