Назад | Перейти на главную страницу

перенаправить страницы SSL с помощью оператора заголовка на основе порта

Я нашел это в файле header.php на сайте электронной коммерции. Это лучше сделать в файле .htaccess.

Также, что произойдет с любыми параметрами сообщения, которые попадают в оператор заголовка.

// flip between secure and non-secure pages
$uri = $_SERVER['REQUEST_URI'];

// move to secure SSL pages if required
if (substr($uri,1,12) == "registration") 
{
    if($_SERVER['SERVER_PORT'] != 443) {   
       header("HTTP/1.1 301 Moved Permanently");
       header("Location: https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
       exit();
    }
}
// otherwise us regular non-SSL pages
else
{
     if($_SERVER['SERVER_PORT'] == 443) {   
        header("HTTP/1.1 301 Moved Permanently");
        header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
        exit();   
    }
}   

Да, это можно сделать в файле .htaccess, например, с помощью mod_rewrite. Но зачем беспокоиться? Автор приложения, вероятно, не хотел предполагать конкретный веб-сервер или увеличивать сложность конфигурации сервера, и поэтому обрабатывал это на уровне приложения.

Я считаю, что параметры POST будут потеряны при переводе, но следует предположить, что разработчик приложения учел это.