Файл .htaccess является инструментом настройки конфигурации web-сервера Apache, на основе которого работают большинство современных хостингов. Отличительной особенностью файла .htaccess является то, что, директивы, в нем описанные, действуют лишь на тот каталог (папку), в котором он находиться. .htaccess выполняет довольно большое количество функций: ограничивает доступ к каталогам, блокирует доступ к файлам определенного формата, устанавливает права доступа к папкам на основе ip-адреса, позволяет создавать редиректы, скрывает структуру каталогов сайта. Наравне с robots.txt, .htaccess позволяет «общаться» с поисковыми ботами.
Не буду вдаваться в технические особенности, постараюсь простым языком объяснить, чем файл .htaccess может быть полезен простому владельцу сайта.
301 редирект и RedirectPermanent – перенаправление
Данный код означает, что файлы навсегда перемещены и сообщает их новый адрес. 301 редирект полезен в случаях, когда наш сайт переехал на новый домен или для обозначения главного зеркала сайта.
Рассмотрим вариант переезда на новый домен. Возможно, кто-то из читателей заметил, что этот блог отображается теперь по адресу adminpab.ru и если набрать в адресной строке «блогадмина.рф», то мы все равно попадаем на «adminpab.ru». Сделано это как раз с помощью RedirectPermanent. Вот так выглядит содержание файла .htaccess в корневом каталоге сайта блогадмина.рф:
RedirectPermanent / http://adminpab.ru/
То есть этот код сообщает новый адрес, по которому были перемещены файлы сайта. Не забудьте поставить «/» в конце!
Если необходимо перенести лишь некоторые страницы сайта, сохранив при этом их PageRank, то делается это с помощью 301 редиректа:
Redirect 301 /olddirectory/oldpage.html http://adminpab.ru/newpage.html
То есть мы сообщаем, что страница oldpage.html в каталоге olddirectory перемещена по адресу adminpab.ru/newpage.html
Переадресовывание адреса сайта с www на без www
Главное зеркало сайта прописывается в директивах файла robots.txt, но не всегда поисковые боты правильно считывают эту информацию, поэтому рекомендую подстраховаться. С помощью 301 редиректа прописываем главный хост нашего сайта:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^adminpab\.ru$ [NC]
RewriteRule ^(.*)$ http://www.adminpab.ru/$1 [R=301,L]
Замена типа страниц с htm на html
Случается, что при переезде на новый движок сайта или в других случаях, необходимо сменить расширения файлов страниц. Разберем на примере, заменим htm на html:
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.htm$ $1.html [R=permanent]
Я постарался не вникать в слишком сложные вопросы по работе с 301 редиректом, постаравшись ограничиться самым необходимым. В дальнейшем планирую написать серию статей о модулях Apache и использованию файла .htaccess. Если будут какие-то вопросы – пишите в комментариях. Спасибо за внимание!
Подскажи, как правильно указать редирект с одной внутренней страницы на другую.
У меня каким-то образом проиндексировалась страница предпросмотра статьи с кракозябрами в url, а сама статья c релевантной запросу транслитерацией никак не может занять своё место.
Сам пробовал делать запись c редиректом, но кажется не правильно. Страница так и осталась в индексе, хотя должна ж склеиться.
Redirect 301 /krokozyabry.html http://mysite.com/normalpage.html
То есть указываем новый адрес по которому надо открывать страницу.
С Яндексом, наверно, проблемы? Он долго сайты индексирует.
С Яшей конечно.
Это дословно прописывать в .htaccess(с поправкой на мой сайт :)?
Redirect 301 /krokozyabry.html http://mysite.com/normalpage.html
Объясните, пожалуйста, блонинке, как сделать 301 редирект с mysite.ru/blog на mysite.ru? Блог на WordPress, в mysite.ru/blog нет файла htaccess
Елена, если в папке blog нет файла htaccess, то его необходимо создать. (Можно прямо в блокноте, сохранив под именем .htaccess)В нем прописать
RedirectPermanent / http://mysite.ru/
Собственно, этого будет достаточно.
Что значить дословно? =)
1. Пишем Redirect 301
2. Пишем урл той страницы, которую необходимо перенести.
3. Пишем новый полный адрес этой страницы.
Если будут вопросы, то пишите на почту, указанную в контактах, постараюсь помочь.
Огромное спасибо автору за простой в понимании текст без SEO-шного сленга и наворотов. После данной статьи я Ваш постоянный читатель.
Вам спасибо! Приятно такие комменты получать.
не знаю сможете помочь или нет, но вот:
делаю 301 редирект таким образом:
Redirect 301 /stat/page.htm http://www.sait.ru/question/page.htm
все хорошо, но конечная ссылка на которую производится переход после редиректа выглядить как http://www.sait.ru/question/page.htm?url=stat/page.htm
как избавится от этого вопроса и ненужного окончания?
если можно то ответ на почту, так как не нашел как подписаться на комменты
Здравствуйте,
Подскажите, пожалуйста:
Как сделать, чтобы с главной страницы сайта (домена) вида http://www.mydomain.com/ осуществлялся редирект на страницу http://www.mydomain.com/abc/ , иначе говоря, чтобы всегда вместо главной страницы вида http://www.mydomain.com/ показывалась страница http://www.mydomain.com/abc/ . Пересмотрел много вариантов, но так ничего и не получилось путного.
Заранее спасибо.
Здравствуйте. у меня пара вопросов по редиректу: как правильно редактировать файл htaccess?? как я понял из него всё удаляется и вставляется один из ваших примеров? или как то ещё? я попробовал сделать так как написано в примерах, но при переходе на сайт редирект не срабатывает. и второй вопрос: какой метод мне больше подходит если сайты расположены на одном хост-аккаунте но в разных корневых папках?
Заранее благодарен!
1.Если в htaccess уже что-то есть (чаще всего это внутренние настройки движка) то лучше ничего не стирать, а дописать свои команды ниже. Но тут надо следить за тем, чтобы ваши директивы не конфликтовали с теми, которые уже прописаны. Если редирект не срабатывает, то скорее всего какие-то директивы либо не правильно прописаны, либо конфликтуют с другими директивами.
2.htaccess действует только на ту папку, в которой находиться. То есть у каждого сайта должен быть свой htaccess в корневой папке.
Добрый день! Скажите пожалуйста, а как настроить редирект для большого количества страниц? Или для каждой отдельно писать редирект — в случае в интернет магазине — при смене движка произошел смена url — и около 150 позиций потеряли прежние адресса. Как быть в данном случае?
Нужно смотреть принцип, по которому формировался url. Если старые и новые url’ы имеют какую-то общую черту — редирект можно сделать.
Не получается:
Нужно переадресовать с:
http://filter-tver.com/%D0%9A%D0%B0%D1%80%D1%82%D1%80%D0%B8%D0%B4%D0%B6%D0%B8-%D0%B8-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%82%D1%83%D1%8E%D1%89%D0%B8%D0%B5/%D0%9A%D0%B0%D1%80%D1%82%D1%80%D0%B8%D0%B4%D0%B6-%D0%93%D0%B5%D0%B9%D0%B7%D0%B5%D1%80-%D0%A1%D0%92%D0%A1-%D1%81-%D1%81%D0%B5%D1%80%D0%B5%D0%B1%D1%80%D0%BE%D0%BC-10SL.html
на страницу:
http://filter-tver.com/kartridzhi-i-komplektuyushchie/dlya-filtrov/gejzer/item/svs-s-serebrom-10sl
Прописываю:
Redirect 301 /Картриджи-и-комплектующие/Картридж-Гейзер-СВС-с-серебром-10SL.html http://filter-tver.com/kartridzhi-i-komplektuyushchie/dlya-filtrov/gejzer/item/svs-s-serebrom-10sl
Не переадресовывает почему-то. «Менеджер перенаправлений» в Joomla 2.5 съел только 12 ссылок, а остальные не хочет.
Помогите, плз.
А насколько полезна эта склека через 301 редирект?
Полезна для чего?
Здравствуйте, куда в файле .htaccess вставить
редирект 301
# Используйте PHP5 Одноместный php.ini по умолчанию
AddHandler application/x-httpd-php5s. PHP
# Начало W3TC Cache Browser
AddType текст / CSS. CSS
AddType текст / х-компоненту. HTC
AddType применение / х-JavaScript. JS
AddType применение / JavaScript. Js2
AddType текст / JavaScript. СП3
AddType текст / X-JS. СП4
AddType текст / HTML. HTML. HTM
AddType Текст / RichText. RTF. RTX
AddType изображений / SVG + XML. SVG. SVGZ
AddType текст / равнина. TXT
AddType текст / XSD. XSD
AddType текст / XSL. XSL
AddType тексте / XML. XML
AddType видео / ASF. ASF. ASX. Воском. WMV. WMX
AddType видео / AVI. AVI
AddType изображений / BMP. BMP
AddType применение / Java. Класса
AddType видео / DivX. DivX
AddType применение / MSWord. Док. DOCX
AddType применение / vnd.ms-fontobject. СРВ
AddType применение / х-msdownload. Exe
AddType изображения / GIF. GIF
AddType применение / х-GZIP. GZ. GZIP
AddType изображений / X-иконы. ICO
AddType изображение / JPEG. JPG. JPEG. JPE
AddType применение / JSON. JSON
AddType применение / vnd.ms-доступа. MDB
AddType аудио / MIDI. Середину. Миди
AddType видео / QuickTime. MOV. Qt
AddType аудио / MPEG. Mp3. M4a
AddType video/mp4. Mp4. M4V
AddType видео / MPEG. MPEG. Миль на галлон. ПДВ
AddType применение / vnd.ms-проекта. MPP
AddType применение / х-шрифты OTF. OTF
AddType применение / vnd.oasis.opendocument.database. ОДБ
AddType применение / vnd.oasis.opendocument.chart. ODC
AddType применение / vnd.oasis.opendocument.formula. ODF
AddType применение / vnd.oasis.opendocument.graphics. КГД
AddType применение / vnd.oasis.opendocument.presentation. ОРС
AddType применение / vnd.oasis.opendocument.spreadsheet. ОРВ
AddType применение / vnd.oasis.opendocument.text. ODT
AddType аудио / OGG. OGG
AddType применение / PDF. PDF
AddType изображение / PNG. PNG
AddType применение / vnd.ms-PowerPoint. Банк. PPS. PPT. PPTX
AddType аудио / X-RealAudio. РА. RAM
AddType применение / х-ударно-вспышка. SWF
AddType применение / х-тар. Смол
AddType изображений / TIFF. TIF. TIFF
AddType применение / х-шрифт TTF. TTF. TTC
AddType аудио / WAV. WAV
AddType аудио / WMA. WMA
AddType применение / vnd.ms и записи. ИМР
AddType применение / vnd.ms-Excel. СА. XLS. XLSX. XLT. XLW
AddType применение / ZIP. ZIP
На ExpiresActive
ExpiresByType текст / CSS A31536000
ExpiresByType текст / X-компонент A31536000
ExpiresByType применение / х-JavaScript A31536000
ExpiresByType приложения / JavaScript A31536000
ExpiresByType текст / JavaScript A31536000
ExpiresByType текст / X-JS A31536000
ExpiresByType текст / HTML A3600
ExpiresByType Текст / RichText A3600
ExpiresByType изображений / SVG + XML A3600
ExpiresByType текст / равнина A3600
ExpiresByType текст / XSD A3600
ExpiresByType текст / XSL A3600
ExpiresByType тексте / XML A3600
ExpiresByType видео / ASF A31536000
ExpiresByType видео / AVI A31536000
ExpiresByType изображений / BMP A31536000
ExpiresByType приложений / Java A31536000
ExpiresByType видео / DivX A31536000
ExpiresByType приложений / MSWord A31536000
ExpiresByType приложений / vnd.ms-fontobject A31536000
ExpiresByType применение / х-msdownload A31536000
ExpiresByType изображения / GIF A31536000
ExpiresByType применение / х-GZIP A31536000
ExpiresByType изображений / X-икона A31536000
ExpiresByType изображение / JPEG A31536000
ExpiresByType приложения / JSON A31536000
ExpiresByType приложений / vnd.ms доступа A31536000
ExpiresByType аудио / MIDI A31536000
ExpiresByType видео / QuickTime A31536000
ExpiresByType аудио / MPEG A31536000
ExpiresByType video/mp4 A31536000
ExpiresByType видео / MPEG A31536000
ExpiresByType приложений / vnd.ms-проекта A31536000
ExpiresByType применение / х-шрифты OTF A31536000
ExpiresByType приложений / vnd.oasis.opendocument.database A31536000
ExpiresByType приложений / vnd.oasis.opendocument.chart A31536000
ExpiresByType приложений / vnd.oasis.opendocument.formula A31536000
ExpiresByType приложений / vnd.oasis.opendocument.graphics A31536000
ExpiresByType приложений / vnd.oasis.opendocument.presentation A31536000
ExpiresByType приложений / vnd.oasis.opendocument.spreadsheet A31536000
ExpiresByType приложений / vnd.oasis.opendocument.text A31536000
ExpiresByType аудио / OGG A31536000
ExpiresByType приложений / PDF A31536000
ExpiresByType изображение / PNG A31536000
ExpiresByType приложений / vnd.ms PowerPoint-A31536000
ExpiresByType аудио / X-RealAudio A31536000
ExpiresByType изображений / SVG + XML A31536000
ExpiresByType применение / х-ударно-вспышка A31536000
ExpiresByType применение / х-тар A31536000
ExpiresByType изображений / TIFF A31536000
ExpiresByType применение / х-шрифт TTF A31536000
ExpiresByType аудио / WAV A31536000
ExpiresByType аудио / WMA A31536000
ExpiresByType приложений / vnd.ms-записи A31536000
ExpiresByType приложений / vnd.ms-Excel A31536000
ExpiresByType приложений / ZIP A31536000
Заголовок добавления Вары User-Agent ENV =! Dont-меняются
AddOutputFilterByType DEFLATE текст / CSS текст / X-компонент применение / х-JavaScript Application / JavaScript текст / JavaScript текст / X-JS текст / HTML Текст / RichText изображений / SVG + XML текст / текст / XSD текста / XSL тексте / XML изображение / X-значок приложения / JSON
# DEFLATE по расширению
AddOutputFilter DEFLATE JS CSS HTM HTML XML
Pragma набор заголовков «общественность»
Заголовок добавления Cache-Control «общественность»
Pragma набор заголовков «общественность»
Заголовок добавления Cache-Control «общественность»
<FilesMatch
Pragma набор заголовков «общественность»
Заголовок добавления Cache-Control «общественность»
# Конец W3TC Cache Browser
# Начало W3TC ядро Кэш страницы
На RewriteEngine
RewriteBase /
RewriteCond% {HTTPS} = ON
RewriteRule * — [E = W3TC_SSL: _ssl].
RewriteCond% {} SERVER_PORT = 443
RewriteRule * — [E = W3TC_SSL: _ssl].
RewriteCond% {HTTP: Accept-Encoding GZIP}
RewriteRule * — [E = W3TC_ENC: _gzip].
RewriteCond% {} REQUEST_METHOD! = POST
RewriteCond% {QUERY_STRING} = «»
RewriteCond% {} HTTP_COOKIE (comment_author | WP-postpass | w3tc_logged_out | wordpress_logged_in | wptouch_switch_toggle)! [NC]
RewriteCond -F
RewriteRule. * [L]
# Конец W3TC ядро Кэш страницы
# Начало WordPress
На RewriteEngine
RewriteBase /
. RewriteRule ^ индекс \ PHP $ — [L]
RewriteCond% {} REQUEST_FILENAME!-F
RewriteCond% {} REQUEST_FILENAME!-D
RewriteRule. / Index.php [L]
# END WordPress
Да в любое место. Можете в конце самом добавить.
Здравствуйте! Я купил домен moysite.com c высоким тиц и хочу склеить его с уже работающим доменом и сайтом moysite.ru. Как это лучше сделать я не понял, хотя у вас все, вроде, понятно расписано…?!
У купленного домена moysite.ru прописываете в .htaccess:
Redirect 301 / http://работающий-сайт.ру
Хочу прописать редирект с www на без него.
Посмотрел в подразделе «Переадресовывание адреса сайта с www на без www» вы указали директивы для этого. Вот меня что-то сомнения мучают, такое ощущение, что указаны директивы редиректа с без www на www. Я не ошибся?