Стандартный набор редиректов при запуске сайта

С www на без www

#c www на без www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ 
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]

С index.php на главную

#301 редирект с index.php
RewriteCond %{REQUEST_URI} /index.php
RewriteRule ^(.*)$ https://url_сайта/ [R=301,L]

С index.html на главную

#301 редирект с index.html
RewriteRule index.html$ / [R=301,L]

С http на https

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

С https на http

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

Обработка 404 ошибки (не всегда работает)

#404 ошибка
ErrorDocument 404 https://url_сайта/404.php

В случае если обработка 404 ошибки через файл .htaccess не сработает, можно воспользоваться методом описанным в этой статье.

Пример .htaccess для сайта

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

# ЗАПРЕЩЁННЫЕ ФАЙЛЫ
RewriteRule .htaccess – [F]
RewriteRule template.php – [F]

#c www на без www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ 
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]

#с index.html на главную
RewriteRule index.html$ / [R=301,L]

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

#301 редирект с index.php
RewriteCond %{REQUEST_URI} /index.php
RewriteRule ^(.*)$ https://url_сайта.ru/ [R=301,L]

#404 ошибка
ErrorDocument 404 https://url_сайта.ru/404.php
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (8 оценок, среднее: 5,00 из 5)
Загрузка...
Добавить комментарий

шестнадцать − один =

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: