Переадресация 301 / редирект через .htaccess на все случаи жизни

ваши вопросы, жалобы и предложения
Ответить
Аватара пользователя
admin
Site Admin
Сообщения: 4502
Зарегистрирован: 02 фев 2021, 13:10

Переадресация 301 / редирект через .htaccess на все случаи жизни

Сообщение admin »

Проверил недавно свой сайт через Rocket Tools и обнаружил, что когда меняли сайт, то "успешно" посеяли в том числе и редиректы на https и www. Но также узнал про некоторые редиректы, которых не было и до этого, а они нужны.

К примеру, я честно не знал, что надо смотреть, как отзывается сайт, если указать не ошибочную страницу (тогда открывается страница для ошибки 404), а один или несколько лишних слешей. А для этого делается свой редирект:

RewriteCond %{THE_REQUEST} //
RewriteRule .* /$0 [R=301,L]

Допускаю, что многие это знают. Но уверен, что также полно и тех, кто этого не знал, как и я. Вот такие случаи я постараюсь здесь описывать, так как сам не с ходу нашел решение в поиске. Причем сомневаешься, а верно ли кто-то советует, чтобы не навредить сайту и поисковой выдаче. Приведенный вариант 100% рабочий.
P.S. Лично я ставлю в букмекере Леон: https://www.bleon.ru/bonus.php | бонус-код bkleon100
Аватара пользователя
admin
Site Admin
Сообщения: 4502
Зарегистрирован: 02 фев 2021, 13:10

Re: Переадресация 301 / редирект через .htaccess на все случаи жизни

Сообщение admin »

А вот редиректы, которые я добавил у себя, и скорее всего которые понадобятся любому:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ https://www.site.ru/ [R=301,L]

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

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{THE_REQUEST} //
RewriteRule .* /$0 [R=301,L]

Вместо site укажите свой домен. И убедитесь, что перед всеми редиректами есть RewriteEngine On
P.S. Лично я ставлю в букмекере Леон: https://www.bleon.ru/bonus.php | бонус-код bkleon100
Аватара пользователя
admin
Site Admin
Сообщения: 4502
Зарегистрирован: 02 фев 2021, 13:10

Re: Переадресация 301 / редирект через .htaccess на все случаи жизни

Сообщение admin »

Сейчас везде использую такой редирект:

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

От предыдущих вариантов отказался по причине зацикливания на хостинге, из-за чего сайт не открывался вовсе.
P.S. Лично я ставлю в букмекере Леон: https://www.bleon.ru/bonus.php | бонус-код bkleon100
Ответить