Немного оптимизации — завершающий слеш

Немного оптимизации — завершающий слеш

Всем привет!

Как известно «каждый вебмастер может спеть песню о проблеме отсутствующих завершающих слэшей при использовании URL ссылающихся на каталоги». Немного на эту тему я уже исполнял, теперь хочется немного конкретики.

Проблема в следующем. Автор ВордПресс почему-то не обратил большого внимания на то, что ссылки на рубрики, страницы, теги и прочее по-умолчанию не заканчиваются слешем. Многие люди верят, что это и не проблема вовсе, а нечто академическое и из пальца высосанное. Нонконформисты считают, что нехорошо когда одна и та же страница доступна по нескольким URLам.

Нет, не так. Небольшое отступление. Представим сферический сервер, обслуживающий статику. Когда мы ссылаемся на нечто похожее на page.html он понимает, что это страница и отдает ее браузеру. В случае когда ссылка идет на page, сервер проверяет — это страница или каталог, и если это таки каталог — редиректит пользователя на page/.

Если же структура URL-ов формируется движком, то естественно, ни о каких каталогах речи не идет. Документ может быть доступен по тому адресу, который формируется движком.

Как я уже писал, некоторые самураи верят в то, что это не есть гут и придумали пару-тройку решений. Для начала самые простые. Существует по крайней мере два плагина, добавляющие слеш к страницам, рубрикам etc. Французских и немецких товарищей соответственно:

Permalink Trailing Slash Fixer

Smart Trailing Slash

Недостатком этих решений является то, что они несколько замедляют и без того задумчивый ВордПресс. Для истинных джедаев существуют более радикальные решения с использованием .htaccess:

Add Trailing Slash to the End of the URL with .htaccess Rewrite Rules