У множество сайтов можете встретить повторяющиеся слеши: sayt.com/////// либо sayt.com/? Даже у топовых сайтов есть этот ошибка. Решения. Вставляем в .htaccess после RewriteEngine ON Код: RewriteCond %{THE_REQUEST} // #(//////////) RewriteRule .* /$0 [R=301,L] # # (/?) RewriteCond %{THE_REQUEST} ^[^\s]+\s+[^?]*?\? RewriteCond %{QUERY_STRING} ^$ RewriteRule .? %{REQUEST_URI}? [R=301,L] Желательно оставить пробел в начале и в конце этого кода.
Ещё один способ добавить этот код в index.php: Код: // Убираем слеш в конце ссылок $uri = preg_replace("/\?.*/i",'', $_SERVER['REQUEST_URI']); if ((!strpos($uri, 'simpla')) && (strlen($uri)>1)) { if (rtrim($uri,'/')!=$uri) { header("HTTP/1.1 301 Moved Permanently"); header('Location: http://'.$_SERVER['SERVER_NAME'].str_replace($uri, rtrim($uri,'/'), $_SERVER['REQUEST_URI'])); exit(); } } Источник Више указанный правила которые в начале статье через .htaccess убирайте, если кто то воспользовались им. Можете оставить только этот часть отвечающих на убрать знак "?": Код: # (/?) RewriteCond %{THE_REQUEST} ^[^\s]+\s+[^?]*?\? RewriteCond %{QUERY_STRING} ^$ RewriteRule .? %{REQUEST_URI}? [R=301,L]