0

我在我的网站上使用 Marketpress 和 Wordpress。Marketpress 仅通过 SSL 保护必要的页面。如果我在一个受保护的页面上,即https://尝试访问常规链接(即:Home或者About Us它会尝试在 URL 中强制使用 https,从而给我一个不受信任的错误。我该如何摆脱这个功能,因为我不希望我的整个站点受到保护,尤其是在用户访问安全区域之后。

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

4

2 回答 2

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://。

于 2012-06-26T21:17:16.823 回答
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

于 2012-06-26T21:21:18.220 回答