Все виды редиректов для .htaccess

Редиректы внутри домена

301 редирект с домена без WWW на домен с WWW

RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

С домена с WWW на без WWW

RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

С одной статической страницы на другую

Вариант 1

Redirect 301 /was.php http://www.site.ru/new.php

Вариант 2

RewriteRule ^dir /dir-new/$1 [R=301,L]

С Get параметрами

Вариант 1 – когда известно значение Get-параметра

RewriteCond %{QUERY_STRING} ^IBLOCK_ID=1&SECTION_ID=111$ [NC]
RewriteRule ^dir/index\.php$ /new/sef/? [R=301,L]

Вариант 2 – когда значение Get-параметра неизвестно

RewriteCond %{QUERY_STRING} ^IBLOCK_ID=1&SECTION_ID=(.*)$ [NC]
RewriteRule ^dir/index\.php$ /new/sef/? [R=301,L]

С со страницы категории на другую

RewriteRule ^dir/$ http://www.site.ru/new-dir/ [R=301,L]

Добавляем к урлу слеш на конце

RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_URI} !\..{1,10}$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.site.ru/$1/ [L,R=301]

Убираем с конца урла слеш

RewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ http://www.site.ru/$1 [R=301,L]

С файлов в папке на заданный файл

RewriteRule ^dir(.*)$ /new-file.php [L,R=301]

С файлов из заданной папки кроме, определенного файла

RewriteRule ^dir/no-file.html /no-file-new.html [L,R=301]
RewriteRule ^dir(.*)$ /all.php [L,R=301]

Для заданного файла в различных директориях

RewriteRule [^abc]/unique-file.html /unique-file.html [R=301,L]

Убираем все GET-параметры после знака вопроса

RewriteBase /
RewriteRule (.*) $1? [R=301,L]

Редиректы с (под)домена на домен

Со всех страниц одного домена на такие же страницы другого домена

RewriteCond %{HTTP_HOST} ^old-site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

Со всех страниц одного домена главную другого домена (с учетом www)

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^www\.(.*)$ 
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^vetskoray\.ru$ [NC]
RewriteRule ^(.*)$ https://veterinar24.spb.ru/ [R=301,L]

Редирект всех поддоменов на главное зеркало

RewriteCond %{HTTP_HOST} ^([a-z0-9_-]+)\.site\.com$ RewriteRule ^(.*) http://site.com/$1 [R=301,L]

С поддомена на основной домен второго уровня

RewriteCond %{HTTP_HOST} ^test.site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru%{REQUEST_URI} [R=301,NC,L,QSA] 

С папки одного домена на папку другого домена

RewriteCond %{HTTP_HOST} ^si-te\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/si-te/ [R=301,L]

Со всех файлов домена, кроме папки администратора bitrix

RewriteRule ^bitrix/ /bitrix/admin/ [L,R=301]
RewriteRule ^(.*)$ http://www.newsite.ru/new/ [L,R=301]
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (7 оценок, среднее: 5,00 из 5)
Загрузка...
Добавить комментарий

2 × два =

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: