Содержание
- Редиректы внутри домена
- 301 редирект с домена без WWW на домен с WWW
- С домена с WWW на без WWW
- С одной статической страницы на другую
- С Get параметрами
- С со страницы категории на другую
- Добавляем к урлу слеш на конце
- Убираем с конца урла слеш
- С файлов в папке на заданный файл
- С файлов из заданной папки кроме, определенного файла
- Для заданного файла в различных директориях
- Убираем все GET-параметры после знака вопроса
- Редиректы с (под)домена на домен
- Со статической страницы одного домена на страницу другого домена
- С главной страницы одного домена на главную страницу другого домена
- Со всех страниц одного домена на такие же страницы другого домена
- Со всех страниц одного домена на главную другого домена (с учетом www)
- Редирект всех поддоменов на главное зеркало
- С поддомена на основной домен второго уровня
- С папки одного домена на папку другого домена
- Со всех файлов домена, кроме папки администратора bitrix
Обновлено: 23 декабря, 2021
Редиректы внутри домена
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]
Редиректы с (под)домена на домен
Со статической страницы одного домена на страницу другого домена
RewriteEngine On RewriteBase / RewriteRule ^kastraciya/ https://veterinar24.spb.ru/uslugi/kastracija-sobaki-na-domu.html [R=301,L]
С главной страницы одного домена на главную страницу другого домена
RewriteEngine On RewriteBase / RewriteRule ^ https://mosvet24.ru/ [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]