Как убрать слэш в htaccess? Или склеиваем дубли.
Все знают, что дубли это плохо, при их большом количестве можно сильно пострадать, особенно от Яндекса. Итак, я попробую дать ответ на то, как убрать часть дублей в ЛС. А если кто поможет убрать другую часть дублей — буду премного благодарен!
Убираем дубли типа ваш сайт/blog и ваш сайт/blog/ — как видите, здесь отличие только в слэше в конце. Нужно эти страницы склеить. Я предлагаю сделать так, чтобы в конце всегда был слэш, написать в .htaccess:
Но в таком случае (да и по умолчанию, если код указанный выше не писать), остается еще часть дублей — это сами статьи. Каждая статья доступна по двум адресам:
название статьи.html и название статьи.html/
Как видите, есть в конце слэш, и все статьи со слешем есть в индексе Яндекса. На этом сайте, кстати, тоже. Как решить эту склейку, я не знаю. Поэтому, предлагаю решить ее вместе.
Убираем дубли типа ваш сайт/blog и ваш сайт/blog/ — как видите, здесь отличие только в слэше в конце. Нужно эти страницы склеить. Я предлагаю сделать так, чтобы в конце всегда был слэш, написать в .htaccess:
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1/ [R=301,L]
Но в таком случае (да и по умолчанию, если код указанный выше не писать), остается еще часть дублей — это сами статьи. Каждая статья доступна по двум адресам:
название статьи.html и название статьи.html/
Как видите, есть в конце слэш, и все статьи со слешем есть в индексе Яндекса. На этом сайте, кстати, тоже. Как решить эту склейку, я не знаю. Поэтому, предлагаю решить ее вместе.
27 комментариев
Чтобы при добавлении изображений в фотосет, они грузились, сделай исключение:
во-вторых, почему нельзя тоже с «html» сделать?
Я не написал, что нельзя. Тоже самое можно сделать и с расширением html. Если /page.html/ в адресе устраивает, то можешь и так оставить. Раширение html на конце, если такого файла на сервере физически не существует, увеличивает на доли секунды время загрузки страницы. Само раширение на конце никаких плюсов не даёт.
Если он попадёт на страницу без слэша его также перебросит на страницу со слэшем, как и пользователя.
В конфиге NiceURL вот так делай:
habrahabr.ru/qa/31079/
не оттуда взяли ?? :)) htaccess это адски сложная задача и подумал сделать на nginx
я вообще решил что для
Так как тут советовали ставить NiceURL, но у меня сайт рабочий и без него уже, и как бы если сообщество, люди же — будут писать трехкилометровые заголовки и урлы выйдут не ахти.
Вообще, хочу узнать как убрать слеш в конце html ну и ваш пункт 5. Но вы чего-то тут не дописали, что вы решили?
Можно подставить любой get параметр и получить произвольный «дубль» топика, например, «статьи.html?blabla»
Достаточно прописать canonical на урл топика
вот стандартный блог ВП — yourbrainonecon.wordpress.com/2012/12/07/the-debt-bias-or-how-good-reforms-do-bad-things-to-good-people/, а вот «дубль» yourbrainonecon.wordpress.com/2012/12/07/the-debt-bias-or-how-good-reforms-do-bad-things-to-good-people/?params=12345
и это глупо решать через .htaccess или robots.txt
и так далее
У меня не пошло НО:
— для стрниц тегок какраз оно