RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


linux:apache:htaccess

Коллекция htaccess правил на все случаи жизни

Пожалуй лучшее собрание сочинений лучшая подборка всевозможных rewrite правил. И ещё одна.

Редирект всех страниц кроме главной

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

<IfModule mod_headers.c>
    Header set Strict-Transport-Security "max-age=0; includeSubDomains" env=HTTPS
</IfModule>

https→http

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} =on
    RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]
</IfModule>

Убрать 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]

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
 
linux/apache/htaccess.txt · Последнее изменение: 2020/03/19 14:47 — 127.0.0.1