Перейти к публикации

Рендомные дубли категорий в полной новости


Рекомендованные сообщения

Здравствуйте, у меня версия 9.2 сайт старый еще давно настроил страницу 404 и все было хорошо пока в вебмастере не стали вылазить не существующие url страниц, я конечно понимаю что это добрые люди стараются.

Приведу примеры чтобы было более понятнее что у меня творится

url полной новости у меня выглядит так site.ru/категория/id-имя новости.html

Если задать не существующую категорию site.ru/категорияlalala/ то будет страница 404

В полной новость с нарушением ID страницы тоже будут выдать 404 тут как говорится все хорошо

А если изменить в url название категории на не существующую но с сохранением id реальной новости то сайт открывает эту новость по несуществующему url пример:

site.ru/категорlalala/id-имя новости.html

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

Ссылка на сообщение
Поделиться на других сайтах

вроде нашел решение, прошу не серчать сам не ожидал вчера всю ночь сидел искала тут бац на ясную голову и нашел

Открываем файл /engine/modules/show.full.php

НАХОДИМ:

		} else {
 
			$full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id'];
			$print_link = $config['http_home_url'] . "engine/print.php?newsid=" . $row['id'];
			$short_link = "";
 
		}

ВЫШЕ ДОБАВЛЯЕМ:

//обработка неправильного alt-name и 301 редирект
			$true_link = $config['http_home_url'] . substr ($_SERVER['REQUEST_URI'], 1);
 
				if ($row['allow_comm']) { //если разрешены комменты
					$conf_comm_by_page = intval( $config['comm_nummers'] ); // комм на стр из настроек
					$news_comm_num = $row['comm_num']; // общее кол-во комм
					$comm_page_count = @ceil( $news_comm_num / $conf_comm_by_page );
						if ( ($comm_page_count >= 2) && (intval($_REQUEST['cstart']) >= 2) ) $full_link = $link_page . intval($_REQUEST['cstart']) . "," . $news_name . ".html";
				}
				if ($news_page >= 2) $full_link = $link_page . $news_name . ".html";
 
			if ($true_link != $full_link) {
				header('HTTP/1.1 301 Moved Permanently');
				header ('Location: ' . $full_link);
				die();
			}
//обработка неправильного alt-name и 301 редирект
Ссылка на сообщение
Поделиться на других сайтах

В стандартном DLE все есть и не требуется никаких правок. Нужно в настройках скрипта включить контроль неверных ЧПУ.

Ссылка на сообщение
Поделиться на других сайтах
10 минут назад, celsoft сказал:

В стандартном DLE все есть и не требуется никаких правок. Нужно в настройках скрипта включить контроль неверных ЧПУ.

спасибо

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...