Wordpress Marketpress在访问安全区域后强制所有链接都是https

时间:2012-06-26 21:02:53

标签: wordpress redirect ssl

我在我的网站上使用Marketpress和Wordpress。 Marketpress仅通过SSL保护必要的页面。如果我在受保护的网页上https://,并尝试访问常规链接(例如:HomeAbout Us,则会尝试在网址中强制使用https,从而提供我是一个不可信的错误。我怎么能摆脱这个功能,因为我不希望我的整个网站都受到保护,尤其是在用户访问了安全区域之后。

编辑:1个快速解决方案我想手动输入自定义菜单区域中的链接,但这是一个我想避免的错误解决方法。

2 个答案:

答案 0 :(得分: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 :(得分:1)

一旦浏览器被重定向到https,它将保留在那里,同时使用相对URL。 e.g。

/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