Разработка Переадресация через .htaccess 301 редирект и не только 👤 Евгений Урядов 26 сентября 2024 г. 🏷️ редирект, страницы, страницу
**
<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$