htaccess редирект без слеша на слэш
301 редирект для страниц без слеша и со слешем на конце
Когда на сайте URL адреса вида:
/301-redirekt-dlya-stranic-bez-slesha-i-so-sleshem /
Убираем слеш в конце
Со слешем на конце
Комментарии по теме “ 301 редирект для страниц без слеша и со слешем на конце ”
Добрый день! Сделал все, как вы указали. Однако видимо с кешем проблема, то перенаправляет, то нет страницы. Никак не могу понять, работает 301 на исходную страницу без слеша или нет.
Кидайте ссылку, посмотрим. Либо проверьте в Яндекс.Вебмастере ответ сервера (либо в любом другом онлайн сервисе) по каждой из ссылок.
Исправил через хостинг, спасибо!
А если у меня на сайте страница без слеша показывает 404, то надо сделать так же или необязательно? Ведь по идее контент не дублируется, но с другой стороны, стерев «лишний» символ мы получаем 404.
Олеся, значит у Вас все хорошо. Адреса страниц должны открываться либо со слешем, либо без него. В вашем случае нет дублирования страниц, так как без слеша страница не существует (ошибка 404), делать редиректы нет необходимости.
Подскажите, у меня есть ряд страниц порядка 20-30, которые нужно перенести с без слеша на слеш.
Как это сделать для отдельных страниц (массово нельзя ибо такой функционал, что часть страниц долна быть со слешем а другая без — к сожалению)
RewriteRule old-page.html /new-page.html [R=301,L]
где:
old-page.html — урл старой страницы
/new-page.html — урл новой страницы
Один урл — одна строка.
У меня так сработало:
# Редирект домена с WWW на домен без WWW
RewriteCond %
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
# Убираем лишние слеши на конце URL
RewriteCond %
RewriteCond %
RewriteRule ^(.+)/$ /$1 [R=301,L]
Спасибо Владимиру. На других блогах готовые решения не помогли.
как сделать редирект одной конкертной страницы, а не всех?
Как сделать редирект для конкретной страницы описано тут https://ya-knyazev.ru/301-redirekt/
Если кратко, то вот так: RewriteRule old-page.html /new-page.html [R=301,L]
Подскажите пожалуйста. У меня стоит редирект со слешем в конце. Но почему-то редирект идет на http а не на https версию страницы. Т.е. получается двойной редирект.
Оглавление
Также на хостинге должны быть включены модули mod_alias (для поддержки Redirect, RedirectPermanent и RedirectMatch).
1. Правила Redirect, RewriteRule и RewriteCond
1.1. Директива Redirect
Redirect устанавливает прямой редирект с одной страницы на другую.
В status пишут код редиректа. Является необязательным параметром. Чаще всего пишут 301, что сигнализирует о постоянном смене адреса страницы.
Важно, чтобы страница «откуда» была прописана в формате без указания полного адреса сайта, но с указанием полного относительного адреса URL начиная со слэша «/» (т.е. с корня сайта). Страницу куда идет редирект нужно писать полностью, т.е. абсолютный адрес страницы URL (т.е. с названием домена и протокола http એ или https એ ).
Можно также писать по другому
1.2. Директива RewriteRule
Директива RewriteRule устанавливает правила перехода. Синтаксис следующий:
1.3. Директива RewriteCond
Директива RewriteCond определяет условия при котором выполняется правила в RewriteRule.
Например, этими условиями могут быть браузер пользователя, IP-адрес, заголовок и т.д.
1.4. Директива RedirectMatch
Директива RedirectMatch аналогична Redirect с той лишь разницей, что позволяет записывать регулярные выражения.
Здесь мы дополним варианты редиректов, которых еще не было.
2.1. Редирект с одной страницы на другую
Редирект с site.ru/cat/oldpage на site.ru/newpage.html
Или второй вариант:
Или второй вариант:
2.3. Редирект всего каталога на другую страницу
С любой страницы в каталоге и подкаталогах /old/ будет происходит редирект на /new.php
2.4. Удаление лишних слэшей в адресе URL
Например, страница /catalog///stranica.html доступна и открывается. Чтобы избежать такой ситуации и не плодить бесконечное число дублей следует записать следующий редирект
2.5. Реврайт без редиректа
Можно загрузить другую страницу без смены адреса страницы URL. Например, загрузим страницу /news.html, а в адресной строке будет отображаться адрес /news/happy
2.6. Простановка замыкающего слеша в конце адреса главной страница
Например, многие сервера работают так, что последний слэш не пишется в URL. Например, http://site.ru. Ниже приведенный код решают это проблему: сайт будет открывать по http://site.ru/
2.7. Удаляем директорию каталога из URL
Например для редиректа со страницы site.com/directoriya/stranica.html на site.com/stranica.html нужно прописать следующее:
Или второй вариант:
2.8. Редирект GET параметров
Например, сделать редирект со страницы /?act=page&id=2 на /page-2/
2.9. Редирект на мобильную версию сайта m.site.ru
В данном примере сначала проверяется факт того, что пользователь открыл сайт с мобильного устройства
2.10. Редирект с поддомена
Например, выполним редирект с любой страницы поддомена poddomen.site.ru на основной домен site.ru
3.Другие примеры с htaccess
3.1. Запретить IP-адрес и браузер
Запретим открывать сайт для пользователя с браузера IE с IP-адресом 172.111.222.55
3.2. Запретить конкретный файл
Запретим для всех файл disable_file.html:
3.3. Разрешить доступ с одного ip
Доступ будет разрешен только с одного ip-адреса 172.111.222.55
3.4. Запретить доступ с разных ip
Запретить доступ к сайту с нескольких ip-адреса 172.112.222.55, 172.113.222.55, 172.114.*.*
3.5. Редирект в URL с больших символов на маленькие
Все большие буквы в адресе URL будут переведены на маленькие.
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Ограничение ответственности
Информация на сайте предоставляется «как есть», без всяких гарантий, включая гарантию применимости в определенных целях, коммерческой пригодности и т.п. В текстах могут быть технические неточности и ошибки. Автор не может гарантировать полноты, достоверности и актуальности всей информации, не несет ответственности за последствия использования сайта третьими лицами.
Автор не делает никаких заявлений, не дает никаких гарантий и оценок относительно того, что результаты, размещенные на сайте и описанные в заявлениях относительно будущих результатов, будут достигнуты.
Автор не несет ответственности за убытки, возникшие у пользователей или третьих лиц в результате использования ими сайта, включая упущенную выгоду.
Автор не несет ответственности за убытки, возникшие в результате действий пользователей, явно не соответствующих обычным правилам работы с информацией в сети Интернет.
Пользуясь сайтом, вы принимаете и соглашаетесь со всеми нашими правилами, включая «Ограничение ответственности».
Рекомендую
Link’s QR code
Время, где сейчас
До восхода не будить и при пожаре выносить в первую очередь, а после заката звонить только в экстренных случаях:
Рубрики
Отче наш
Отче наш, Иже еси́ на небесе́х! Да святи́тся имя Твое́, да прии́дет Ца́рствие Твое, да будет воля Твоя, я́ко на небеси́ и на земли́.
Хлеб наш насу́щный даждь нам днесь; и оста́ви нам до́лги наша, я́коже и мы оставля́ем должнико́м нашим; и не введи́ нас во искушение, но изба́ви нас от лука́ваго
301 Редирект — это способ постоянного перенаправления поисковых систем и посетителей сайта на адрес, который отличается от изначально запрашиваемого. Такой ответ сервера указывает на то, что старый URL утратил актуальность, страницу переместили. После переиндексации Яндекс и Google поймут куда вы теперь хотите вести посетителей и станут предлагать пользователям новый адрес.
Основные типы перенаправления и их разница (код ответа состояния HTTP):
302 перенаправление или редирект – это временное перенаправление, которое означает, что страница или элемент перемещен временно, и его адрес в будущем может измениться. Чаще всего записываются в коде веб-сайта.
Помимо перечисленных вариантов автоматического перенаправления посетителя, существуют еще четыре.
Когда использовать редирект 301
Redirect 301 HTML является правильным решением для предотвращения тупиковых переходов и объединения входящих ссылок. Ссылочный вес и трафик могут быть сохранены. Обычно редирект 301 используется, если нужно, чтобы поисковые системы перенесли весь SEO-вес на URL-адрес назначения после перемещения на него документа навсегда.
Случаи использования редиректа 301
Перемещение домена на постоянной основе;
Перемещение документа на постоянной основе;
Изменение протокола сайта на постоянной основе;
Изменение структуры сайта на постоянной основе.
Когда не нужно использовать редирект 301
Редирект 301 является неверным решением для случаев, в которых кэширование может привести к неожиданному негативному поведению.
Отслеживание (включая кампании с платой за клик и реферальные кампании).
Redirect 301 HTML также не следует использовать, если вы хотите применить временное перенаправление.
Когда использовать редирект 302
Это правильное решение, если вы хотите применить временный редирект, который не влияет на присутствие сайта в результатах поиска. Временный редирект должен быть ограничен во времени. Он также может быть использован, если нужно применить редирект, который не являются кэшируемым.
Случаи использования редиректа 302:
Периодическое временное содержимое;
Перенаправление при отсутствии страницы в результатах поиска.
Сезонные товары на сайтах электронной коммерции;
Временные специальные предложения на целевых страницах сайтов электронной коммерции.
Когда не следует использовать редирект 302
Код статуса 302 не следует использовать, если нужно передавать SEO-вес URL-адресу назначения.
Перемещение домена на постоянной основе;
Перемещение документа на постоянной основе;
Изменение протокола сайта на постоянной основе;
Изменение структуры сайта на постоянной основе.
Если вы хотите сделать правильную настройку 301 редиректа, обязательно изучите наше пошаговое руководство с примерами кода на все случаи и различными рекомендациями и лайфхаками.
Рекомендация номер один
Располагайте переадресации страниц в файле от частных к более глобальным (сверху вниз). Например: простая переадресация двух страниц стоит выше, чем глобальное правило редиректов c http на httpS или например с www на без www.
Избегайте последовательных редиректов (двух, трех). Правила должны быть настроены так, что при возникновении редиректа он должен перенаправлять пользователя (робота) только один (!) раз. Каждое лишнее переадресация – это секунды драгоценного времени отдачи страницы, это нагрузка на сервер, это нечеткие команды для поисковых роботов.
Ошибка “Слишком много перенаправлений” означает, что сайт продолжает циклично перенаправляться между разными адресами и это может никогда не прекратиться. Ваш браузер защищает вас от этого, разрешая только определенное количество перенаправлений (часто около десяти), прежде чем он «устанет» от этого и не выдаст данную ошибку.
Очень часто это является результатом конфликтных перенаправлений, одно из которых пытается принудительно установить HTTPS (SSL) соединение, а другое – обратно HTTP (не-SSL), или между URL-адресами с www и без www.
Не забывайте, что многие браузеры кешируют (запоминают) редиректы, поэтому проверять переадресации лучше на стороннем сайте.
Список сайтов (чекеров), где можно проверить 301 редирект и код ответа сервера онлайн
301 редирект может быть серверным или браузерным, последний из них пользуется меньшей популярностью, так как приводит к замедленной подгрузке страниц.
Код состояния HTTP 301 – ответ сервера на запрос браузера пользователя или поисковой системы, означающий, что запрашиваемая страница, более не доступная по текущему адресу, перемещена постоянно на новый, прежний URL является неактуальным, а вес с него переносится на новый адрес.
Для чего нужен 301 редирект
Корректная настройка 301 редиректа особенно важна с точки зрения SEO. Именно она помогает показать поисковой системе что, например, сайт сменил домен либо текущая страница переехала на новый адрес, а, значит, необходимо передать вес со старых URL и обновить старые URL на новые в поисковой выдаче.
Когда необходим редирект
Ниже обозначим основные наиболее актуальные для настройки 301 редиректа ситуации.
В случае переезда сайта на новый адрес необходимо настроить постраничный редирект между главными страницами, а также листингами и карточками, чтобы страницы oldsite.ru перенаправляли пользователей и робота на newsite.ru.
Переадресация должна выполняться со всех адресов старого домена на аналогичные страницы нового домена.
В данном случае необходимо перенаправлять пользователей со страниц с незащищенным протоколом http на страницы с защищенным протоколом https.
Такая необходимость может возникнуть в нескольких случаях – смена CMS, смена урловой структуры на сайте и т.д.
Таким образом, необходимо отправить пользователей с site.ru/page1/ на site.ru/catalog/page1/.
Такая необходимость появляется, например, если вы хотите отделить какое-либо направление своего сайта в отдельное.
Например, вебмастер покупает домены site.com, site.ru, site.net, site.org и site.biz и на четырех последних сайтах настраивает редирект на основной – site.com.
Наличие дублей может существенно подорвать вашу стратегию продвижения и привести к понижению в ранжировании в поисковых системах. В случае, если в индексе поисковых систем обнаружены дубликаты продвигаемых страниц, настройка переадресации – лучший выход.
Основные правила настройки переадресации
Основные способы настройки редиректов
Например в 1C-Битрикс существует множество модулей, таких как SEO Редиректы.
Для других CMS также можно установить модули. Вот некоторые ссылки на модули для распространенных CMS: Opencart, WordPress, Webasyst.
header(‘HTTP/1.1 301 Moved Permanently’);
Например, rewrite ^https://$host$request_uri? ;
$host – имя хоста из запроса, если отсутствует – имя в поле «Host» заголовка, если тоже отсутствует – имя сервера;
$request_uri – первоначальный запрос с аргументами (все, что идет после доменного имени).
могут иметь следующие параметры:
permanent – перенаправление с кодом 301,
redirect – перенаправить с кодом 302,
last – закончить обработку с переходом в новый location,
break – закончить обработку и остаться в текущем location.
Все возможные правила переадресаций для разных задач
Мы постарались подобрать самые часто используемые правила перенаправления. Если вдруг какое-то правило перенаправления не сработает на вашем сайте, попробуйте альтернативное из нашего списка. Стоит учесть, что не все представленные правила могут работать корректно при той или иной настройке сервера либо с той или иной CMS.
Склейка зеркал сайта (www и без www)
301 редирект с www на без www (главное зеркало – домен без www):
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
301 редирект с без www на www (главное зеркало – домен с www):
RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]
Редирект с http на https
Если данная конструкция не сработает, попробуйте другой вариант:
Если циклическое перенаправление на страницах осталось, попробуйте такой вариант:
Если редирект не работает и в этом случае, попробуйте такой вариант:
Бывают случаи, когда необходимо провести редирект на https всех страниц, кроме одной. Тогда используйте следующую конструкцию:
Для одной страницы
Для редиректа с http на https одной страницы (например page.php), в файл добавьте следующее:
Редирект с https на http
Если необходимо сделать 301 редирект всего сайта с https на http, в файл прописывается следующее:
RewriteRule ^(.*)$ https://name.site/$1 [R=301,L]
Редирект с двух последовательных слешей на один
Если необходимо сделать 301 редирект для устранения двух или множества последовательных слешей и заменить их одним в URL, то прописывается следующее:
Редирект со страниц со слешем на без слеша (для всего сайта)
RewriteRule ^(.*)\/$ /$1 [R=301,L]
Или более короткий вариант:
RewriteRule ^(. )/$ /$1 [R=301,L]
Редирект со страниц без слеша на слеш (для всего сайта)
Обратный вариант применяется, когда нужно использовать адреса со слешем.
Один 301 редирект (а не два последовательных!) на без www и со слешем на конце адреса страницы
RewriteRule ^(.*)$ http://%1/$1/ [L,R=301]
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
RewriteRule ^(.*)$ http://%1/$1/ [L,R=301]
Один 301 редирект (а не два последовательных!) на c www и со слешем на конце адреса страницы
RewriteRule ^(.*)$ http://www.%1/$1/ [L,R=301]
RewriteRule ^(.*)$ http://www.%1/$1/ [L,R=301]
RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]
Один 301 редирект (а не два последовательных!) на c www и без слеша на конце адреса страницы
Если вы ещё не знаете, зачем нужно перенаправление страниц сайта, читайте нашу статью Что такое редирект.
Для чего нужен 301-й редирект
Помимо разных способов настройки переадресации, существуют разные виды редиректов. Каждый из них имеет своё кодовое название. Основные виды:
Также существуют 304-й, 306-й и 307-й редиректы. Однако сейчас эти виды практически никто не использует. Один из самых популярных видов — это 301-й.
301-й редирект (Moved Permanently) — это постоянный редирект. Используется для перемещения страницы на новый URL-адрес насовсем. Когда поисковые системы встречают страницу с редиректом 301, они «понимают», что теперь необходимо индексировать новую страницу, а старую можно полностью исключить из индексации. Если настроить переадресацию 301 некорректно, на странице будет отображаться ошибка 404. Индексация страниц с ошибками приводит к снижению SEO-показателей всего веб-ресурса.
1С-Битрикс — популярная CMS в которой время от времени необходимо настраивать перенаправление.
Где www.site.ru — домен, с которого происходит редирект, а site.ru — домен, на который происходит редирект.
Где www. — домен, с которого происходит редирект, а www. — домен, на который происходит редирект.
Где site.ru — имя вашего домена.
Где site.ru — имя вашего домена.
Где site.ru — имя вашего домена.
Где site.ru — имя вашего домена.
Для всех страниц с http:// на https://, в том числе и с http://www на https://
Если первый вариант не поможет, воспользуйтесь вторым вариантом:
Если все варианты не помогли и возникает циклическая переадресация: