Исправление проблемы с множественными слешами в url

Исправление проблемы с множественными слешами в url

В DLE есть проблема с слэшами в url, их может быть бесконечное количество и эти страницы отдают код 200. Так как разработчик не планирует этого исправлять уже как 12 версий движка, то вот вам это исправление.
Для тех кто не понял:
https://mysite.com//
https://mysite.com///
https://mysite.com////
https://mysite.com///// и т .д.

Установка:
1. Открыть engine/engine.php и найти:
if ($cstart < 0) $cstart = 0;

Добавить выше:
$slash_array = explode("/", $_SERVER['REQUEST_URI']);
$count_slash = array_count_values($slash_array);
if($count_slash[''] > 2) {
	$url_normal = array_filter($slash_array, function($element) {
		return !empty($element);
	});
	$url_redirect = implode("/", $url_normal);
	
	header("HTTP/1.0 301 Moved Permanently");
	header("Location: /{$url_redirect}/");
	die("Redirect");
}

Готово!
 
Версия DLE: 11.х-12.0
Автор: PunPun
Источник:
  • Oxigen
  • 0
  • 138
Информация
Оставлять комментарии могут только зарегистрированные посетители.
  • Рейтинг@Mail.ru
  • Яндекс.Метрика