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

Содержание
  1. Редиректы внутри домена
  2. 301 редирект с домена без WWW на домен с WWW
  3. С домена с WWW на без WWW
  4. С одной статической страницы на другую
  5. С Get параметрами
  6. С со страницы категории на другую
  7. Добавляем к урлу слеш на конце
  8. Убираем с конца урла слеш
  9. С файлов в папке на заданный файл
  10. С файлов из заданной папки кроме, определенного файла
  11. Для заданного файла в различных директориях
  12. Убираем все GET-параметры после знака вопроса
  13. Редиректы с (под)домена на домен
  14. Со статической страницы одного домена на страницу другого домена
  15. С главной страницы одного домена на главную страницу другого домена
  16. Со всех страниц одного домена на такие же страницы другого домена
  17. Со всех страниц одного домена на главную другого домена (с учетом www)
  18. Редирект всех поддоменов на главное зеркало
  19. С поддомена на основной домен второго уровня
  20. С папки одного домена на папку другого домена
  21. Со всех файлов домена, кроме папки администратора 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]
Рейтинг автора
Автор статьи
Юрий
SEO-аналитик, программист (PHP, Ajax, Delphi, MySQL).
Написано статей
268
7 оценок, среднее: 5,00 из 57 оценок, среднее: 5,00 из 57 оценок, среднее: 5,00 из 57 оценок, среднее: 5,00 из 57 оценок, среднее: 5,00 из 5 (7 оценок, среднее: 5,00 из 5)
Для того чтобы оценить запись, вы должны быть зарегистрированным пользователем сайта.
Загрузка...
Понравилась статья? Поделиться с друзьями:
Блог Программиста
Добавить комментарий

19 − 19 =