2013-03-02 3 views
3

Привет, в настоящее время я приобрел SSL-сертификаты от Godaddy и установил на LoadBalancer. У меня есть приложение zend framework, но у меня есть проблемы с перенаправлением сайта на Https. После мой Bootstrap код, который я нашел простой способ перенаправить мой сайт https:Принудительное перенаправление HTTP-HTTPS в Zend Framework

protected function _initForceSSL() { 
    if($_SERVER['SERVER_PORT'] != '443') { 
     header('Location: https://' . $_SERVER['HTTP_HOST'] . 
       $_SERVER['REQUEST_URI']); 
     exit(); 
    } 

К сожалению ошибка сервера обратно. Что мне здесь не хватает? Благодаря

Update:

.htaccess в корне файла

RewriteEngine On 
RewriteCond %{HTTPS} on 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ public/index.php [NC,L] 
+1

Этот тип перенаправления должен выполняться в .htaccess, а не в вашем коде приложения – emaillenin

+0

много ответов здесь - http://serverfault.com/a/116209/79206 – emaillenin

+0

Я пробовал немного на .htaccess, но все равно никаких эффектов, Я обновляю свой вопрос выше, чтобы включить мой .htaccess. – d3bug3r

ответ

1

Поскольку вы используете Zend Framework, вы можете попробовать с помощью следующего кода в файле .htaccess:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.yoursite.com/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ public/index.php [NC,L] 

Сообщите мне, если это работает!

+0

Спасибо, позвольте мне попробовать .. – d3bug3r

+0

эта ошибка возвращается «Эта веб-страница имеет цикл переадресации», что может быть причиной ..? – d3bug3r

+0

@zlippr вы можете опубликовать весь файл htaccess в вопросе? – emaillenin

Смежные вопросы