Часто сталкивался с необходимостью автоматической расстановки слэшей на окончание url'ов, чтобы получалось так заходим на страницу https://modx.one/topics, а нас редиректит на страницу https://modx.one/topics/ где в конце подставляется слэш, что в дальнейшем способствует лучшему ранжированию в поисковых машинах и исключает тем самым дубли страниц. Для начало в настройках MODX Содержимое->Типы содержимого в расширении файла HTML удаляем .html и ставим слэш / Далее убедимся что чпу у нас в системе настроен и затем настраиваем сервер.
Настройки под nginx:
location ~ .+/$ {
rewrite (.+)$ $1/ permanent;
}
или так
rewrite ^(.+[^/])$ $1/ permanent;
в том случае если нам слэш на конце наоборот надо убирать делаем так:
location ~ .+/$ {
rewrite (.+)/$ $1 permanent;
}
Настройки для Apache:
-
Выставляем канонический урл
-
Или добавляем в .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]
Работает гарантировано.
Комментарии ()