Android Tablet PC на DHgate.com


htaccess удалить несколько слэшей подряд


В больших проектах бывает такое, что ЧПУ собираются очень сложно и при неверной архитектуре ссылки могу содержать несколько слэшей. Например можно получить ссылку http://artkiev.com/blog//. Конечно, что бы этого не происходило код нужно выверять и тестировать. Но, что делать если такая ошибка уже есть и найти быстро ее не удается. На помощь приходит .htaccess

Напишем простой код в htaccess при включенном mod_rewrite:

RewriteCond %{THE_REQUEST} \s/+(.*?)/{2,}([^\s]*)
RewriteRule ^ %1/%2 [R=301,L,NE]

К сожалению этот код неидеален :( Он будет редиректить пользователя после определения такой ошибки в урл. Но как временное решение подойдет, пока не будет полностью отлажен исходный код и не найдена ошибка.

UPDATE: Так же можно на пхп написать велосипедик с фильтром ссылок:

if ( preg_match('!/{2,}!', $_SERVER['REQUEST_URI']) ){
  $url = preg_replace('!/{2,}!', '/', $_SERVER['REQUEST_URI']);
  header('Location: ' . $url , false, 301);
  exit;
}

Правильные ссылки нужно использовать везде. Даже когда пользователь заполнивший форму контактов на сайте и отправил ее – результатирующая страница должна так же быть ЧПУ и не содержать знаков “равно” и “вопросительный знак”. Если вам нужна форма обратной связи для сайта ее легко можно скачать в интернете и установить за несколько кликов.

Но следует помнить, что это лишь временное решение!


Другие публикации:

Написать комментарий через:

 
               
  • Локальный блог
  •  
 

Ваш отзыв

Имя *

Почта (скрыта) *

Сайт

Напишите цифрами двa вoceмь двa *

Сообщение

Один отзыв на «htaccess удалить несколько слэшей подряд»

  1. Сергей пишет:

    Спасибо за статью, но мне не помогло. У меня 2-й слеш в середине урла. Информации на эту тему очень мало, но буду ещё искать.

 
Возврат % от покупок
Статусы для соц.сетей на ArtKiev Design Studio