Привет. Сегодня рассмотрим важную тему для продвижения. Как добавить слеш в конце url htaccess.
Для начала рассмотрим зачем нужно добавлять слеш в конце url htaccess. Во многих самописных сайтах, и даже многих CMS есть такая беда: ссылка сработает как в виде site.com/url так и в виде site.com/url/. Поисковые роботы будут считать эти ссылки разными, а контент на них одинаковым. Это плохо, дубликаты страниц — враг продвижения.
Что же делать, чтобы избежать дублей?
Трансформировать все ссылки в ссылке, где есть слеш в конце url htaccess. При этом, как следует из заголовка, делать это будет автоматически htaccess, то есть от вас потребуется только скопировать код один раз и всё.
Тем временем, рекомендую всем задуматься над покупкой страховки для вашего авто. Полис ОСАГО и диагностическая карта ОСАГО — вот что нужно дял безопасности дорожного дивжения. Заказал на сайте и поехал.
Как добавить слеш в конце url htaccess
Делается это очень просто.
Просто скопируйте и вставте код в файл .htaccess в корне вашего сайта.
RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.html) RewriteCond %{REQUEST_URI} !(.jpg) RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ http://www.your-site.ru/$1/ [L,R=301]
Но не забудьте изменить your-site.ru на адрес вашего сайта.
Также обратите внимание, что если у вас главное зеркало сайта без www, то и в коде ссылку нужно делать на без www. Подробнее о том как сделать переадресацию с www на без www.
Рассмотрим немного подробнее код, который добавит слеш в конце url htaccess.
Строкой
RewriteEngine on
Мы говорим Apache, что будем работать с mod_rewrite.
RewriteBase /
Указывает базу для работы. Например, если ваш сайт лежит в подпапке site.com/subfolder/, то RewriteBase должен быть /subfolder/.
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.html) RewriteCond %{REQUEST_URI} !(.jpg)
Тут мы исключаем из дальнейшей работы запросы к файлам, и особенно .html и .jpg (список можно расширить), для того, чтобы в конце ссылок на html файлы не добавлялся слеш.
RewriteCond %{REQUEST_URI} !(.*)/$
Самое важное условие, которое проверяет, что в конце ссылки нет слеша.
RewriteRule ^(.*)$ http://www.your-site.ru/$1/ [L,R=301]
Ну и действие, которое выполнится, если пройдут все условия. То есть 301 редирект на страницу со слеш в конце.