Разработка Переадресация через .htaccess 301 редирект и не только
👤 Евгений Урядов 🏷️ редирект, страницы, страницу
**
<b>простой редирект с одной страницы на другую**
| Redirect 301 /news/ /company/news/ |
|---|
| RewriteCond %{REQUEST_URI} ^/news/$
**редирект при переносе раздела****
чтобы всё (папки-файлы) из папки /support/tutorials/test-drives/ переехало /learning/test-drives/
| RewriteRule ^(.)support/tutorials/test-drives/(.)$ /learning/test-drives/$2 [QSA,L,R=301,NC] |
|---|
<b>редирект при переносе раздела на отдельный сайт**
**редирект на другой домен. кроме определенной страницы**
| RewriteCond %{REQUEST_URI} !^/file.exe$
**
<b>c www на без www**
| RewriteCond %{HTTP_HOST} ^www.(.*)$
| RewriteRule ^(.*)$ https://%1/$1 [L,R=301] |
|---|
**без www на ****с www**
| RewriteCond %{HTTP_HOST} ^([^www].*)$
**все страницы одного сайта на главную страницу другого**
| RewriteCond %{REQUEST_URI} (.*)
**все страницы одного сайта на такую же страницу другого**
| RewriteCond %{REQUEST_URI} (.*)
**с http на https**
| RewriteCond %{HTTPS} !=on
| RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] |
|---|
Если возникает циклический редирект, то:
| RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
| RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] |
|---|
Для Битрикс-сайтов на хостинге reg.ru
| RewriteCond %{SERVER_PORT} !^443$
| RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L] |
|---|
Для сертификатов https c Cloudflare:
| RewriteCond %{HTTP:CF-Visitor} ‘“scheme”:“http“‘
Without Cloudflare:
| --- |
**с https на http**
| RewriteCond %{HTTPS} =on
| RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L] |
|---|
**с GET параметром на другой адрес**
| RewriteCond %{QUERY_STRING} ^id=229
| RewriteRule ^.*$ /new/? [R=301,L] |
|---|
**с определенного ****адреса с GET параметром на другой****
| RewriteCond %{REQUEST_URI} /test/
RewriteCond %{QUERY_STRING} ^id=229
| RewriteRule ^.*$ /new/? [R=301,L] |
|---|
<b>редирект с на определенную страницу с параметрами**
| RewriteBase /personal/logout/
| RewriteRule personal/logout/ personal/index.php?exit=yes [QSA,L,NE] |
|---|
**редирект на https для всего кроме файлика для обмена с 1С /bitrix/admin/1c_exchange.php**
| RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:X-HTTPS} !1
RewriteCond %{REQUEST_URI} !^/bitrix/admin/1c_exchange.php$
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{HTTP:X-HTTPS} 1 [NC]
RewriteCond %{REQUEST_URI} ^/bitrix/admin/1c_exchange.php$
| RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L] |
|---|
убрать множественные слеши в середине и в конце адреса
| RewriteCond %{REQUEST_URI} /{2,} [OR]
RewriteCond %{THE_REQUEST} \s/{2,}
редирект на страницу со слешем
| RewriteCond %{REQUEST_URI} !?
RewriteCond %{REQUEST_URI} !&
RewriteCond %{REQUEST_URI} !=
RewriteCond %{REQUEST_URI} !.
RewriteCond %{REQUEST_URI} !/$
Редирект на другой сайт, если адрес не из 2х указанных адресов
/one.exe или /two.exe
| RewriteEngine On
RewriteCond %{REQUEST_URI} !^/one.exe$
RewriteCond %{REQUEST_URI} !^/two.exe$