barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

среда, 28 марта 2012 г.

Конфигурация Apache2 HTTP Server: редирект с HTTPS на HTTP

Выполняется средствами mod_rewrite:
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
При этом, однако, корректная настройка SSL все равно необходима, т.к. редирект осуществляется после установления защищенного соединения.
Можно также явно указать, каким кодом отвечать при редиректе. Например, для отправки кода 301 ("Перемещено окончательно") нужно:
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=permanent]
Если некоторые URL`ы требуется всё же обрабатывать по HTTPS, нужно исключить их из правила:
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteCond $0 !/needhttps/
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} 

Комментариев нет:

Отправить комментарий