G|Translate: English EN Français FR Deutsch DE Italiano IT Русский RU Español ES

301 Redirect

Посмотрим варианты редиректа 301 через файл .htaccess (в корне сайта, включенный модуль mod_rewrite ). Данные варианты будут корректно работать только для простых сайтов на html (т.е. корректно будет редирект для всех страниц сайта), для сайтов на базе CMS надо смотреть документацию (в противном случае будет редирект со всех страниц на главную).

301 Redirect

301 редирект с www

Вариант 1 редиректаВариант 2 редиректаВариант 3 редиректа
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
</IfModule>
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
</IfModule>
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
</IfModule>

301 редирект на www

Вариант 1 редиректаВариант 2 редиректа
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
</IfModule>
IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]
</IfModule>

Для CMS 1C Bitrix редирект 301 (с www) будет выглядеть следующим образом (с использованием модулей PHP от данной CMS)

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
RewriteRule .* – [E=REMOTE_USER:%{HTTP:Authorization}]
#RewriteCond %{HTTP_HOST} ^www.site.ru [NC]
#RewriteRule ^(.*) http://site.ru/$1 [R=301,L]
</IfModule>

301 редирект для отдельных страниц сайта

Перенаправление всего сайта (включая подкаталоги) на новый сайт или страницу (не забывайте поставить последний “/”, если переадресация идет на сайт).

Redirect 301 / http://www.domain.ru/newIndex.html
где:

Redirect 301 – это инструкция, говорящая что страница перемещена навсегда. Если еще временные редиректы.

/ – означает, что переадресовываться будет все, с верхнего уровня сайта, включая подкаталоги, будет переадресовано наhttp://www.domain.ru/newIndex.html – новая страница или http://www.domain.ru/ сайт (последний “/” обязателен).

Чтобы переадресовать только страницу, сохранив PR старой страницы:

Redirect 301 /old/veryOld.html http://www.domain.ru/new/veryNew.html
где:

/old/veryOld.html – путь и имя старой страницы

http://www.domain.ru/new/veryNew.html – адрес новой страницы.

Аналогичный синтаксис для переадресации сайта:

RedirectPermanent / http://www.domain.ru/
Пример переадресации каталога:

RedirectPermanent /old-directory http://www.domain.ru/new-directory/
Например, зашедших по http://www.domain.ru/test (директория test) переадресуем на demo.domain.ru, остальных на login.domain.ru (порядок следования записей важен):

Redirect permanent /test http://demo.domain.ru/Redirect permanent / http://login.domain.ru/

ВАЖНО:

1. для CMS иногда проще (и удобнее) использовать для 301 редиректа плагин/модуль вместо файла .htaccess

2. Для WordPress все свои инструкции необходимо указывать вне модуля
# BEGIN WordPress
# END WordPress
Внутри этой конструкции сам движок WordPress пишет инструкции для редиректа


Вы можете сохранить ссылку на эту страницу себе на компьютер в виде htm файла





Почитать в разделе: ФАЙЛ .htaccess

  • Всего статей в разделе: 3
  • Показано статей в списке: 2
  • Сортировка: название по алфавиту

Защита от прямого копирования картинок

В основном для снижения нагрузки на сервер. Как обычно выглядит ситуация - кто-то зашел на Ваш сайт, ему понравилась статья, далее "copy-paste" и утащил себе на сайт. Как бы не особо жалко, интернет - он свободный. Но - помимо текста были скопированы картинки, у которых адрес (который URL) остался прежним. Т.е. теперь текст размещен на чужом сайте, с теми же Вашими картинками - только картинки по прежнему грузятся с Вашего сервера :( С помощью настроек можно запретить отдачу картинок (файлов) с Вашего сервера по запросу чужого сервера. Можно не только запретить прямые ссылки на изображения, но и указать заглушку, которая будет отображаться на сторонних ресурсах вместо...
(Читать полностью...)

Защита папки на сервере

Сервер Apache с помощью настроек (файл .htaccess) позволяет защитить папку от свободного доступа - только через логин и пароль. Зачем это надо: - защитить папки с важными данными от индексации роботами (несмотря на инструкции в robots.txt - поисковые машины индексируют всё, до чего дотянутся) - защитить от вредителей, которые пытаются попасть в административную панель управления CMS (папка administrator для Joomla и папка wp-admin для WordPress) Примечание: для 1С Битрикс данный вариант использовать нельзя, т.к. в папке administrator находятся модули, необходимые для работы остального сайта. Если на админку Битрикс сделать пароль, то большая часть сайта перестанет...
(Читать полностью...)