Автопереход на другую страницу
Редирект 301
Редирект (redirect - перенаправление) - это процесс, при котором пользователь перенаправляется с неактуальной страницы на актуальную. Это может быть http и https или адрес с/без www ...Редирект может выполняться как в браузере (см. HTML редирект), так и на сервере.
Серверный редирект считается предпочтительным, так как не замедляет загрузку страниц.
Серверный редирект - это 301 код состояния HTTP (редирект 301), который означает, что ресурс переместили на новый URL навсегда.
.htaccess
Самый простой способ реализовать редирект на серверной стороне это - редирект через файл .htaccessДля этого нужно:
- Доступ сайта к хостингу (серверу).
- Сайт должен работать на сервере под управлением Apache.
Apache HTTP Server - самым популярный HTTP-сервер в Интернете. - Доступ к файлу .htaccess
- С помощью любого FTP-клиента, например, FileZilla.
- Через панель управления вашего хостинг-провайдера.
Дальше, порядок действий следующий:
- Скачиваете .htaccess на свой локальный ПК.
- Открываете файл на редактирование в блокноте.
- Прописываете правило редиректа для вашего сайта/страницы.
- Закачиваете .htaccess обратно на сервер.
В файле .htaccess обязательно должны присутствовать команды:
Options +FollowSymLinks RewriteEngine On
Условия редирект рекомендуется записывать в блоке IfModule:
<IfModule mod_rewrite.c> </IfModule>
1: редирект-301 с одной страницы на другую
Options +FollowSymLinks
RewriteEngine On
<IfModule mod_rewrite.c>
# 301 Redirect
Redirect 301 /old-page1.html http://domain.ru/new-page1.html
Redirect 301 /../old-page2.html http://domain.ru/new-page2.html
</IfModule>
RewriteEngine On
<IfModule mod_rewrite.c>
# 301 Redirect
Redirect 301 /old-page1.html http://domain.ru/new-page1.html
Redirect 301 /../old-page2.html http://domain.ru/new-page2.html
</IfModule>
2: редирект-301 с www на без www
Options +FollowSymLinks RewriteEngine On <IfModule mod_rewrite.c> # Редирект домена с WWW на домен без WWW RewriteCond %{HTTP_HOST} ^www\.(.*)$ RewriteRule ^(.*)$ http://%1/$1 [R=301,L] ИЛИ RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC] RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L] </IfModule>
3: редирект-301 без www на с www
Options +FollowSymLinks
RewriteEngine On
<IfModule mod_rewrite.c>
# Редирект домена без WWW на домен с WWW
RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]
</IfModule>
RewriteEngine On
<IfModule mod_rewrite.c>
# Редирект домена без WWW на домен с WWW
RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]
</IfModule>
4: редирект-301 с HTTP на HTTPS
Options +FollowSymLinks
RewriteEngine On
<IfModule mod_rewrite.c>
# Перенаправляем с HTTP на HTTPS
SetEnvIf X-HTTPS 1 HTTPS
RewriteBase /
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
RewriteEngine On
<IfModule mod_rewrite.c>
# Перенаправляем с HTTP на HTTPS
SetEnvIf X-HTTPS 1 HTTPS
RewriteBase /
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
5: редирект-301 с HTTPS на HTTP
Options +FollowSymLinks
RewriteEngine On
<IfModule mod_rewrite.c>
# Перенаправляем с HTTPS на HTTP
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
RewriteEngine On
<IfModule mod_rewrite.c>
# Перенаправляем с HTTPS на HTTP
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
6: Устанавливаем кодировку UTF-8
Options +FollowSymLinks
RewriteEngine On
<IfModule mod_rewrite.c>
# Устанавливаем кодировку UTF-8
AddDefaultCharset UTF-8
</IfModule>
RewriteEngine On
<IfModule mod_rewrite.c>
# Устанавливаем кодировку UTF-8
AddDefaultCharset UTF-8
</IfModule>
7: Устанавливаем кодировку Windows-1251
Options +FollowSymLinks
RewriteEngine On
<IfModule mod_rewrite.c>
# Устанавливаем кодировку Windows-1251
AddDefaultCharset WINDOWS-1251
</IfModule>
RewriteEngine On
<IfModule mod_rewrite.c>
# Устанавливаем кодировку Windows-1251
AddDefaultCharset WINDOWS-1251
</IfModule>
Как создать файл .htaccess в Windows
Особенность файла состоит в том, что он не имеет имени, у него лишь расширение. Это норма для Unix-систем, но в Windows это не норма.Порядок действий для создания .htaccess следующий:
- Открыть текстовый редактор (Notepad++ или Блокнот).
- В меню "Файл" выбрать "Сохранить как".
- В выпадающем списке "Тип файла" выбрать "Все файлы".
- Ввести в качестве имени .htaccess (точкаhtaccess).
- Нажать на кнопку "Сохранить".
Далее можно его вновь открывать в любом текстовом редакторе и редактировать.