Все виды редиректов, для чего нужны и как работают
В этой теме речь пойдет про все виды редиректов для сайта и почему они так важны. На самом деле когда я создавал свой первый сайт я и понятия не имел, что это такое и для чего это нужно. Впервые узнав что такое дубли сайта я не знал куда копать и что делать, так как еще позже я узнал что дубли сайта плохо влияют на ранжирования в поисковиках.
Что такое редирект сайта или страницы? Редиректы служат для склейки двух или более одинаковых страниц одного сайта, так как две одинаковые страницы поисковики считают дублями, что очень плохо влияет на развитие сайта. Одинаковые страницы могут быть доступны по двум разным адресам но с одинаковым содержанием страницы.
Пример: сайт.ру и сайт.ру/index.php это два разных url но с одинаковым контентом на странице. Настройка редиректов производится в файле .htaccess, который находится в корне вашего сайта.
301 редирект с одного домена на другой
Если вам нужно настроить редирект на другой сайт, то-есть с одного домена на другой, код ниже нужно вставить на старом сайте в файл .htaccess, введя адрес нового.
Redirect / http://www.сайт.ру |
301 редирект с http на https
Применяется в том случае когда вы хотите что бы ваш сайт отображался по единому адресу с https.
RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] |
301 редирект с www и без www
Редирект с www на без www
RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.сайт\.рус$ [NC] RewriteRule ^(.*)$ http://сайт.рус/$1 [R=301,L] |
Редирект без www на www
RewriteEngine On RewriteCond %{HTTP_HOST} ^сайт\.ру$ [NC] RewriteRule ^(.*)$ http://сайт.ру/$1 [R=301,L] |
Как убрать из url index.php и index.html
Как убрать index.php из url
RewriteEngine On RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ https://сайт.рус/ [R=301,L] |
Как убрать index.html из url
RewriteEngine On RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/ RewriteRule ^index\.html$ https://сайт.рус/ [R=301,L] |
Редирект со слэшем и без
Редирект без слеша на со слэшем
RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*[^/])$ $1/ [L,R=301] |
Редирект со слеша на без слеша
RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^(.+)/$ RewriteRule ^(.+)/$ /$1 [R=301,L] |
Редирект двойной слэш //
Как убрать двойной слэш на конце url сайта.
RewriteCond %{THE_REQUEST} // RewriteRule .* /$0 [R=301,L] |