Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Ламерские вопросы » Как сделать редирект с несуществующих категорий на главную ?

Как сделать редирект с несуществующих категорий на главную ?


     29.09.2020    редирект    Все вопросы » Ламерские вопросы    1342

вопрос
Вопрос такой: Как сделать редирект с несуществующих категорий на главную ?

Взял старый домен там был двиг вордпрес, с поиска идут переходы на ссылки вида https://domen.ru/tekst-tekst/

Т.к. в дле такой вид ссылок это категории.

Нужно сделать редирект на главную с таких переходов, но чтоб мои категории работал и с них редиректа на главную не было.

Через стандартный модуль Редиректы сделать не получиться, т.к. у меня нету всех урлов вида https://domen.ru/tekst-tekst/ а вида https://domen.ru/*/ будет перенаправлять всех даже с категорий рабочих.

Какой есть выход ?

Ответил: LazyDev


engine/engine.php
if (!$category_id) $category_id = 'not detected';
на
if (!$category_id) {
    header('HTTP/1.0 301 Moved Permanently');
    header('Location: /');
    die('Redirect');
}

11 комментариев

dj-avtosh
PHP-developer

dj-avtosh - 29 сентября 2020 10:39 -

Здравствуйте, пробовали в настройках включать опцию "Обрабатывать неверные URL ЧПУ"?

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

sjlg89
Юзер

sjlg89 - 29 сентября 2020 11:57 -

да, но эта опция работает для новостей - При включении данной опции, будет осуществляться 301 редирект на верный адрес. Данная опция полезна для SEO и при смене адресов новости.

а у меня получается неверный урл категории.. просто 404 ошибка выходит

dj-avtosh
PHP-developer

dj-avtosh - 29 сентября 2020 12:30 -

может быть тут engine/module/show.short.php:

	if( !$news_found AND !$allow_userinfo AND $do != 'newposts' AND $do != 'favorites') {
		
		if( preg_match( "'\\[not-news\\](.*?)\\[/not-news\\]'si", $tpl->copy_template, $match ) ) {
			$need_404 = true;
			$tpl->result['content'] .= $match[1];
		}
	
	}


заменить на

    if( !$news_found AND !$allow_userinfo AND $do != 'newposts' AND $do != 'favorites') {
        
        if( preg_match( "'\\[not-news\\](.*?)\\[/not-news\\]'si", $tpl->copy_template, $match ) ) {
            $need_404 = true;
            header('location: /', false, 301); exit;
            $tpl->result['content'] .= $match[1];
        }
    
    }

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

sjlg89
Юзер

sjlg89 - 29 сентября 2020 13:29 -

Заменил, ввожу https://урл.ru/rjhjhjj/ редиректа на https://урл.ru/ не происходит.

dj-avtosh
PHP-developer

dj-avtosh - 29 сентября 2020 13:29 -

покажите скрин 404

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

sjlg89
Юзер

sjlg89 - 29 сентября 2020 14:07 -


dj-avtosh
PHP-developer

dj-avtosh - 29 сентября 2020 14:08 -

в теории мой код должен был сработать. Плагином оформляли? Кеш чистили?

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

sjlg89
Юзер

sjlg89 - 29 сентября 2020 14:18 -

да оформлял плагином. кеш чистил

LazyDev
PHP-developer

LazyDev - 29 сентября 2020 15:02 -

***Комментарий удален***

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

sjlg89
Юзер

sjlg89 - 29 сентября 2020 15:56 -

да все гуд, мастер )

sjlg89
Юзер

sjlg89 - 29 сентября 2020 16:13 -

***Комментарий удален***

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

Похожие вопросы

наверх