Вход

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

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

Для тех кто не понял.
https://mysite.com//
https://mysite.com///
https://mysite.com////
https://mysite.com///// и т .д.

Такие страницы существуют в DLE и отдают код 200. Нужно это исправить.

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");
}
На этом все.
804
Добавлено: 12 сентябрь 2017 в 17:19:17
Собрано 0 рублей Поддержать автора

Войдите на сайт


Данное дополнение сделано на энтузиазме для пользователей. Вы можете помочь автору материально сделав вклад в развитие, создание и поддержку других бесплатных дополнений. Любая помощь это добрый шаг с вашей стороны, вы становитесь одним из спонсоров раздела и непосредственным образом влияете на его дальнейшее развитие.
Прокомментировать
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent

Комментарии (2)

  1. Артем
    Артем Гости 13 сентября 2017 11:23
    0
    Аналогично, пока не увидел эту новость, даже не подозревал о существовании такого жесткого бага в DLE, спасибо ПанПан за бесплатные такие мини=хаки, приятно наблюдать за развитием твоего блога, надеюсь и впредь продолжишь развиваться.
  2. mblshkoblud
    mblshkoblud Клиенты 13 сентября 2017 01:41
    1
    Работает! Спасибо большое. Я и не замечал этого бага в движке.
© PunPun. 2017. При копировании, ссылка на источник обязательна.
Дизайн и верстка: Webrambo