Примеры htaccess перенаправлений

В  этой статье, я наконец собрал полный список готовых перенаправлений на htaccess. Вы можете использовать их на своих веб-ресурсах просто через copy&paste — быстро и легко…

Ниже вы найдете перенаправления через mod_alias и mod_rewrite . Примеры включают перенаправление в и из любого каталога, подкаталога, ресурса, URL-адреса и многое другое. Большинство из этих примеров взяты из моей практики и моих готовых проектов. Наслаждайтесь! 🙂 

Перенаправление через mod_alias

Эти примеры показывают, как перенаправить из одного места в другое с помощью модуля псевдонимов Apache . Кроме того, вы можете изменить код состояния на любой другой (например, изменить с 301 на 302).

Перенаправить страницу в том же домене

Redirect 301 /page.php /page.html

Перенаправить страницу на другой домен

Redirect 301 /page.php https://example.com/page.html

Перенаправить весь сайт

Redirect 301 / https://example.com/

Перенаправить весь сайт в подкаталог

Redirect 301 / https://example.com/subdirectory/

Перенаправление из подкаталога на другой сайт

Redirect 301 /subdirectory https://example.com/

Перенаправление с .html на .php

RedirectMatch 301 (.*)\.html https://example.com/$1.php

Запретить доступ к странице

Redirect 403 /page.html

Сообщите посетителям, что страница исчезла

Redirect 410 /page.html

Перенаправление в htaccess через mod_rewrite

Если вам нужно что-то серьезное, то модуль Apache может сделать гораздо больше с точки зрения перенаправлений. Вот еще примеры:

Перенаправление со старой страницы на новую

RewriteRule ^/old-page/?$ /new-page/ [R=301,L]

Перенаправить все пути из старого домена в те же пути в новом домене

RewriteRule (.*) https://newdomain.com/$1 [R=301,L]

Перенаправить все пути из старого домена на домашнюю страницу нового домена

RewriteRule (.*) https://newdomain.com/ [R=301,L]

Перенаправить новый домен со строкой запроса

RewriteRule (.*) https://www.newdomain.com/%{REQUEST_URI} [R=301,L]

Перенаправить новый подкаталог домена со строкой запроса

RewriteCond %{REQUEST_URI} ^/subdirectory/(.*) [NC]
RewriteRule (.*) https://example.com/%1 [R=301,L]

Перенаправить URL с параметром запроса ID

RewriteCond %{QUERY_STRING} ID=([0-9]+) [NC]
RewriteRule ^/index\.php /newpath/? [R=301,L]

Перенаправить URL из подкаталога с параметром запроса ID

RewriteCond %{QUERY_STRING} ID=([0-9]+) [NC]
RewriteRule ^/subdirectory/index\.php /newpath/? [R=301,L]

Удалить www из всех URL

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

Принудительный вывод www для всех URL

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

Код состояния

Вы можете изменить код состояния (т.е. ответ сервера) для любого из предыдущих перенаправлений (либо через mod_alias, либо через mod_rewrite). Просто измените текущий 301 статус на любой из следующих:  302, 403, 410 ит.д

Подписаться на новые статьи