【问题标题】:Wordpress Marketpress forces all links to be https after visiting secure areaWordpress Marketpress 在访问安全区域后强制所有链接为 https
【发布时间】:2012-06-28 06:36:36
【问题描述】:

我在我的网站上使用 Marketpress 和 Wordpress。 Marketpress 仅通过 SSL 保护必要的页面。如果我在受保护的页面上,即https://,并尝试访问常规链接(即:HomeAbout Us,它将尝试在 URL 中强制使用 https,从而给我一个不受信任的错误。如何我不想让我的整个网站受到保护,尤其是在用户访问了安全区域之后,我可以去掉这个功能吗?

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

【问题讨论】:

    标签: wordpress redirect ssl


    【解决方案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

    【讨论】:

      【解决方案2】:

      我在 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-11-24
        • 2018-04-07
        • 2016-06-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多