【问题标题】:Force SSL on WordPress archives在 WordPress 档案上强制使用 SSL
【发布时间】:2015-07-28 15:58:24
【问题描述】:

我正在使用 WordPress HTTPS (SSL) 插件通过 https 运行我的网站,并更新了“设置”菜单下的“WordPress 地址”和“网站地址”字段以反映这一点。

所有页面和帖子都通过安全连接运行,但存档(由于自定义帖子类型而大量使用)不会。其他更传统的归档类型(例如标签归档)的作用类似。

由于这些是某种伪页面(并且没有物理位置来调整 WP 管理员中的设置),有没有办法强制它们通过 SSL 运行?有没有我错过了编辑 .htaccess 的技巧?

在此先感谢

【问题讨论】:

    标签: wordpress ssl https archive


    【解决方案1】:

    你真的不需要使用那个插件。此外,还应检查其他几项以修复存档和自定义帖子类型缺少 SSL。

    停用插件,清除缓存,然后在WordPressDashboard>>Settings>>General的两个URL设置中将http更改为https并保存。

    然后通过将这些重写规则放在 .htaccess 中的 WordPress 重写块之上,强制 SSL 和 www 用于非 SSL 传入流量:

    RewriteEngine on
    
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
    
    RewriteCond %{HTTP_HOST} ^example\.com [NC] 
    RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
    

    这将处理所有 WordPress URL,也应该处理自定义帖子类型。

    但是在functions.php或其他主题文件中检查你的CPT函数是否有绝对的http URL,并删除http:并留下//,即

    //fonts.googleapis.com/css?family=OpenSans

    喜欢

    http://fonts.googleapis.com/css?family=OpenSans

    检查您主题的样式表以获取http 的绝对 URL,以及标题链接,即:

    <link href='//fonts.googleapis.com/css?family=OpenSans' rel='stylesheet' type='text/css'>

    而且,搜索所有帖子/页面内容以将所有 http 链接更改为 https 以获取图像和内部链接是一个好主意。将 WordPress 站点 URL 设置更改为 https 是不够的,因为这不会追溯更改帖子/页面内容中的所有链接。使用名为Search RegEx 的插件来查找/替换帖子/页面内容中的链接。或者,使用名为 interconnectit.com WordPress Serialized PHP Search Replace Tool 的 SQL 查找/替换实用程序来扫描整个数据库。

    最后,使用Firefox(或Firebug)或ChromeSafariIE中的开发人员工具检查由图像、脚本等引起的不安全元素错误,这些错误是不通过 SSL 加载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-31
      • 1970-01-01
      • 2014-01-31
      • 2015-10-04
      • 2013-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多