2012-06-05 3 views
2

Мой сайт онлайн, но я использовал этот код, чтобы перенаправить его на ближайшую страницу.Сессии PHP не работают/проблема с SSL?

<?php 

if(!isset($_GET['en'])) { 

    header("Location: /comingsoon"); 
    exit; 

} 

Затем я добавил SSL третьей стороны на мой сайт, и когда я удалил этот кусок кода исходного сайта будет придумать, но после того, как журнал на странице сессии не хранятся.

Когда я представляю этот бит кода (ранее), он работает.

Это действительно меня озадачило.

Я использовал этот бит кода в HTAccess для перенаправления с HTTP на HTTP.

RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

Не уверен, что это имеет к этому какое-либо отношение.

+0

Вы используете 'session_start();' правильно? – Quantastical

+0

Привет, господин SLayer, да на каждой странице. Это просто, когда я удаляю этот исходный код (перенаправляет на .com), что он перестает отправлять сеанс из входа. – user1437299

ответ

-1
function redirectToHTTPS() 
{ 
    if($_SERVER['HTTPS']!="on") 
    { 
    $redirect= "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
    header("Location:$redirect"); 
    } 
} 

// вызов вышеуказанной функции на этой странице, где вы должны перенаправить на https.

+0

Привет, Irfan, спасибо за ваш ответ. Является ли этот код заменять перенаправление HTTP, которое у меня есть в файле .htaccess? – user1437299

+0

-1. Заголовок хоста и URI запроса контролируются клиентом. Этот код предоставит злоумышленнику открытую переадресацию, а в некоторых версиях PHP - произвольный эксплойт заголовка. Не используйте его. – jmkeyes

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