101-я тема про 301 редирект и слэш на конце

J
На сайте с 23.09.2010
Offline
87
992

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

Во-первых, некоторые высказываются о том, что ничего смертельного в этом нет, нужно лишь определиться с окончательным видом урлов (либо ставить слэш, либо не ставить), делать соответствующие внутренние ссылки и покупать такие же внешние. Однако есть мнение, и оно кажется вполне здравым, что, если у вас сайт в несколько тысяч страниц, то когда злосчастные дубли начнут появляться, то будет уже поздно, что либо закрывать или исправлять руками.

Во-вторых, в топиках, даются примеры различных вариантов этой самой переадресации и, честно говоря, немного стремновато прописать в htaccess что-нибудь левое, что приведет еще к более печальным последствиям (ибо не все понимают суть прописываемых команд детально).

Поэтому, хотел бы попробовать подвести какой-то итог всех этих, время от времени, вылезающих вопросов.

1. Делаете ли вы подобный редирект, или каждая страница доступна по адресу site.ru/page1 и site.ru/page1/ ?

2. Если делать редирект с site.ru/page1/ на site.ru/page1, то какой из предлагаемых вариантов (на которые наткнулся) выбрать:

такой:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^.+/$
RewriteRule ^(.*)/$ http://%{HTTP_HOST}/$1 [R=301,L]

такой:

RewriteCond %{REQUEST_URI} ^([^.]+)/$
RewriteRule ^[^.]+/$ /%1 [QSA,L]

или такой:

RewriteBase /
RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)(/)$ $1 [L,R=301]

или еще какой-то другой?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий