Редиректы для сайта (сайт с www, без www и др)
Управление редиректами — задача, которую требуется решать на каждом проекте. Наиболее частые примеры задач:
- сайт открывается как www.site.ru и как site.ru, а нужно только www.site.ru,
- сайт открывается как www.site.ru и как site.ru, а нужно только site.ru,
- на сайт ссылается много доменов, нужно чтобы все домены вели только на один выбранный,
- сайт должен переводить пользователей с протокола http на https.
Большинство владельцев сайтов, и даже некоторые начинающие разработчики не знают, как же решать подобные задачи.
А решаются они достаточно просто — через файл .htaccess в корне сайта. Могу заметить, что сама по себе эта тема достаточно сложная, но в сети можно найти достаточно «рецептов» на все случаи жизни.
Хочу сразу предупредить — этот файл нельзя редактировать через админку сайта! Почему? Все очень просто — этот файл подключается при открытии любых страниц сайта, поэтому если редактируете через текстовый редактор сайта, то любая ошибка (в т.
http://mynewsite.ru/$1
[L,R=301]
Eduard
08.03.2018 16:30:06
Спасибо огромное!
Иван
05.06.2017 10:17:51
Ух, спасибо, выручили! У меня были немного другие примеры, но они не очень хорошо работают
111111111
04.06.2017 11:08:11
Не хватает самого главного — редиректа 301.
Денис
02.06.2017 19:20:46
Спасибо. То что нужно
Нина
25.05.2017 10:53:42
Кстати, Ваш вариант редиректа .htaccess из http:// на https:// очень хоороший! Поменяла на своем сайте его и теперь пока лучше работает!
Нина
24.05.2017 19:10:59
Спасибо большое авторам блога!
Сергей
16.05.2017 12:46:50
Спасибо, очень выручили
301 редирект через файл htaccess: базовые настройки, пояснения
Приветствую друзья. Продолжая серию статей технического характера, я хочу рассказать вам о таком важнейшем параметре для любого сайта как 301 редирект. Давайте дадим объяснение этому термину, и я постараюсь самым подробным образом рассказать вам о нем. Итак, редирект – это специальный метод перенаправления пользователей и роботов поисковых систем на другой URL, отличный от того, который они запросили ранее. Приведу простой пример, ваш читатель попадает на страницу /catalog/page1.html, а его автоматически переадресовывает на страницу /catalog/page2.html, таким образом срабатывает 301 редирект и в конечном результате вы предоставляете пользователю вашего сайта, нужную информацию.
В каких случаях вообще нужно применять редирект и примеры решаемых задач с помощью данного перенаправления:
1) Правильное определение главного зеркала сайта с приставкой www или же без нее. Крайне важный параметр, о котором я рассказывал в своих предыдущих статьях. Дальше в статье я расскажу, как настроить данный параметр.
2) При смене домена сайта, благодаря правильной настройке редиректа, можно сохранить такие показатели как ТИЦ и PR, а также все позиции по ключевым запросам, которые были на старом домене.
3) В случаи изменения адреса конкретной страницы на вашем сайте, можно настроить переадресацию на новый адрес, вместо старого неработающего.
4) Убрать дубли страниц с такими параметрами как feed, replytocom, trackback и т.д.
Как видим из вышеизложенного списка, перечь полезных функций которые можно выполнить с помощью редиректа достаточно большой (я привел лишь основные). Теперь давайте от теории перейдем к практике и научимся правильно составлять файл htaccess который и есть главным звеном в перенаправлении.
Откройте файл htaccess (для сервера Apache), который располагается в корне вашего сайта (если такого файла нет, то создайте его).
В этом файле и будут проводится все дальнейшие настройки для правильной переадресации страниц и доменов сайта.
Для начала, давайте рассмотрим процесс указания главного зеркала сайта с приставкой www и без нее.
Перенаправление домена с www на без-www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www. /]+/)*)(default|main|index)\.(html|php|htm)$ http://www.site.com/$1 [L,R=301]
Отнеситесь к этим 3-м перенаправлениям очень серьезно, ведь от этих настроек напрямую зависит успех вашего проекта. Не допускайте ситуации, чтобы ресурс был доступен и с приставкой www и без нее, главная страница имела несколько адресов, а отдельные записи были доступны как со слешем так и без него! Этого не должно быть!
301 редирект для переадресации страниц старого домена на новый
Redirect 301 / http://www.newsite.com/
В случаи применения этого правила все страницы старого сайта будут перенаправлены на новый домен.
Для переадресации конкретной страницы старого сайта на страницу нового сайта вставьте в файл .htaccess следующий код:
Redirect 301 /oldsite/page.html http://www.newsite.com/page2.html
Также можно воспользоваться альтернативным вариантом перенаправления всех страниц старого сайта на новый:
RedirectPermanent / http://www. (.*)\.htm$ $1.html [R=permanent]
Я привел лишь самые распространенные способы перенаправлений, которых для решения стандартных задач будет вполне достаточно. Если же вам нужно решить другие задачи, связанные с редиректом (помимо тех, что я описал в статье), советую обращаться к профессионалам, ведь привести сайт в нерабочее состояние, неправильными настройками в файле htaccess очень просто.
Хотя в принципе, базовые правила просты в понимании, и можно пробовать настраивать 301 редирект через htaccess под свои цели (если они не слишком сложные).
Поэтому всегда, после внесения изменений в этот файл, проверьте работу сайта – все ли открывается так как вам нужно, ничего не виснет, страницы и разделы сайта работают в нормальном режиме.
Проверку можно осуществить здесь. Интересуемая вас страница должна отдавать 301 ответ сервера.
Вот пример переадресации на моем блоге — к любому адресу размещенной статьи пропишите приставку feed/, после перехода вас попросту перекинет на тот же адрес. Таким образом, я борюсь с дублями страниц на блоге.
Сервисы генерации базовых редиректов:
http://www.webconfs.com/htaccess-redirect-generator.php
http://www.rapidtables.com/web/tools/redirect-generator.htm
Вот и все, о чем я хотел рассказать вам в сегодняшней статье. Если остались вопросы, обязательно задавайте их.
На этом все, всем пока!
С уважением, Александр Мельничук.
- 5
- 4
- 3
- 2
- 1
(3 голоса, в среднем: 5 из 5)
apache — Удалить .html из URL-адресов с перенаправлением
Задавать вопрос
спросил
Изменено 5 лет, 9 месяцев назад
Просмотрено 17 тысяч раз
У нас есть веб-сайт, к сожалению, все URL-адреса имеют . html
суффикс, это установка Magento, Magento позволяет вам изменить это в CMS, но опять же, к сожалению, все эти URL-адреса с суффиксом .html
имеют хороший рейтинг в Google. Нам нужно перенаправить на не .html
.
Итак, рассмотрим следующий сценарий: мы перестраиваем этот сайт с нуля, поэтому у нас те же URL-адреса на новом сайте, но без суффикса .html.
- Сейчас:
www.example.de/cool-shoes.html
- Будет: 9(\w+)\.html$ /$1 [R=301,L]
4
Попробуйте вставить файл .htaccess Постоянный редирект www.mysite.de/cool-shoes.html www.mysite.de/крутая обувь это может быть вам полезно
Это для URL-адресов, заканчивающихся на .html /product/raspberrypi.html —> /product/raspberrypi/ (/product/raspberrypi/index.php) index.php скрыт. Мне потребовалось некоторое время, чтобы понять это. LOL…
RewriteEngine On Переписать Базу / RewriteCond %{REQUEST_URI} \. index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Правило перезаписи. /index.php [Л]
Вы должны использовать ‘REQUEST_URI’ и добавить его перед правилами перенаправления индекса, так как он может быть переопределен приложением. Важно знать, что его URI не является именем файла или каталогом, который мы пытаемся перенаправить, поскольку все имена файлов имеют index.php в корневых папках (WordPress).
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
.