Настройки редиректов на слэш / Хостинг / Топики

Настройки редиректов на слэш

Часто сталкивался с необходимостью автоматической расстановки слэшей на окончание url'ов, чтобы получалось так заходим на страницу modx.one/topics, а нас редиректит на страницу modx.one/topics/ где в конце подставляется слэш, что в дальнейшем способствует лучшему ранжированию в поисковых машинах и исключает тем самым дубли страниц. Для начало в настройках MODX Содержимое->Типы содержимого в расширении файла HTML удаляем .html и ставим слэш /

Далее убедимся что чпу у нас в системе настроен и затем настраиваем сервер. Настройки под nginx:

location ~ .+/$ {
rewrite (.+)$ $1/ permanent;
}

или так

rewrite ^(.+[^/])$ $1/ permanent;

в том случае если нам слэш на конце наоборот надо убирать делаем так:

location ~ .+/$ {
rewrite (.+)/$ $1 permanent;
}

Настройки для Apache:

1. Выставляем канонический урл
<link rel="canonical" href="[[~[[*id]]? &scheme=`full`]]" />
2. Или добавляем в .htaccess код
# Rewrite domain.com -> domain.com/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..{1,10}$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://site.ru/$1/ [L,R=301]

Работает гарантировано.
16 сентября 2016, 00:38    SEQUEL.ONE Хостинг 2    683 +1

Отзывы ()

    Вы должны авторизоваться, чтобы оставлять комментарии.