Через .htaccess
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
отсюда
В комментах тоже много интересного.
ещё
и даже такое...
На PHP
function redirectToHTTPS() {
if($_SERVER['HTTPS']!=="on") {
$redirect= "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
header("Location:$redirect");
}
}
Nginx
Прописываем в нужный server код:
location / {
rewrite ^/(.*) https://$host/$1 permanent;
}
Это не проверял. В теории должно работать. (вариант: https://$host$1 permanent).
!!! Для новых версий предпочтительно использовать новую конструкцию:
return 301 https://freebsd.ru$request_uri;
Вообще, для nginx правильнее определить отдельный конфиг для таких редиректов (опция server_name максимально соответствует нужному домену, прописан listen под нужный порт, и весь конфиг - сам server_name и return 301, этот вариант самый быстрый)
perl
$q = new CGI;
print $q->redirect(“http://www.new-url.com/”);
Линки
http://nginx.org/en/docs/http/converting_rewrite_rules.html
http://wiki.nginx.org/IfIsEvil
http://devaka.ru/articles/redirect-301
Комментариев нет:
Отправить комментарий