В этой статье, я наконец собрал полный список готовых перенаправлений на 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 ит.д