Исправление проблемы с множественными слешами в url / 12.х-13.0

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

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

Так как разработчик не планирует этого исправлять, то вот вам исправление от PunPun.
 
Установка:
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: 12.х-13.0
Автор: PunPun
Источник:
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
  • Рейтинг@Mail.ru
  • Яндекс.Метрика