====== Коллекция htaccess правил на все случаи жизни ====== Пожалуй лучшее собрание сочинений [[https://github.com/phanan/htaccess|лучшая подборка]] всевозможных rewrite правил. И [[https://www.askapache.com/htaccess/|ещё одна]]. ==== Редирект всех страниц кроме главной ==== 301 редирект на новый домен всех страниц кроме главной RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [OR] RewriteCond %{HTTP_HOST} ^domain\.com$ RewriteCond %{REQUEST_URI} !^/?$ [NC] RewriteRule ^(.*)$ http://foobar.com/$1 [R=301,L] ==== Выключить HSTS и сделать редирект на http ==== Проверить FIXME HSTS Header set Strict-Transport-Security "max-age=0; includeSubDomains" env=HTTPS https→http RewriteEngine On RewriteCond %{HTTPS} =on RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L] ==== Убрать index.html или index.php ==== RewriteCond %{REQUEST_URI} !/$ [NC] RewriteCond %{REQUEST_URI} /index.(html?|php)$ [NC] RewriteRule .* http://example.com/ [R=301,L] ==== Редиректы httpS ==== Редирект на httpS и www RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTP_HOST} ^(.*)$ [NC] RewriteRule (.*) https://www.%1/$1 [R=301,L] Redirect to https and non-www RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} ^www\.example\.com [NC] RewriteRule (.*) https://example.com/$1 [L,R=301] ==== 1 ==== www non-www RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L] www > non-www http&https RewriteEngine on RewriteBase / RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L] RewriteCond %{HTTPS} on RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] Тоже самое короче RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} ^www\. RewriteCond %{HTTPS}s ^on(s)|off RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www\.)?(.+)$ RewriteRule ^ %1%3%{REQUEST_URI} [R=301,L] ==== server-status выдаёт 404 ==== Не работает ''server-status'' если уже есть rewrite правила в .htaccess RewriteRule ^(server-info|server-status) - [L] {{tag>apache httpd htaccess}}