2012-06-26 1 views
0

Я использую Marketpress с Wordpress на моем сайте. Marketpress защищает только нужные страницы через SSL. Если я на защищенной странице, то есть https:// и попытаюсь получить доступ к обычной ссылке (то есть: Home или About Us, она попытается заставить https в URL-адресе, тем самым давая мне ненадежную ошибку. Как я могу избавиться от этой функциональность, так как я не хочу, чтобы весь мой сайт был защищен, и особенно после того, как пользователь посетил защищенную область.Wordpress Marketpress заставляет все ссылки быть https после посещения безопасной зоны

EDIT: 1 быстрое решение. Я думаю, это вручную ввести ссылки в пользовательской области меню, но это плохой обходной путь, я хотел бы избежать

ответ

1

я использую следующие в моем файле header.php, и он прекрасно работает:.

if(is_page_template('template1.php') || is_page_template('template2.php')) { 
$pg_use_ssl = "yes"; 
} 

if($_SERVER["HTTPS"] == "on" && $pg_use_ssl != "yes") { // Force NO ssl 
header("Location: http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); 
exit(); 
} 

if($pg_use_ssl == "yes" && $_SERVER["HTTPS"] != "on") { 
header("Location: https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); 
exit(); 
} 

Это заставит https: // только на определенных шаблонах страниц и заставляет http: // на всех других шаблонах страниц.

1

Как только браузер был перенаправлен на https, он останется там, пока используются относительные URL-адреса. например

/folder/folder/page.html 

вместо:

http://site.com/folder/folder/page.html 

Учитывая, что это поведение встраивается в WordPress, это не было бы особенно полезно в целом, чтобы попытаться изменить его.

Вместо этого лучшее, что я могу придумать, это добавить правило перезаписи для .htaccess, которое переписывает https-адреса на http, за исключением тех частей сайта, для которых требуется https.

Возможно, этот вопрос поможет: htaccess (https to http)

Если нет, попробуйте: http://www.webmasterworld.com/apache/3507002.htm

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