我正在设置我的第一个 Wordpress 站点,并且在管理员中遇到了一些 SSL 问题。我有我的证书,并将 define('FORCE_SSL_ADMIN', true);
添加到 wp-config.php 中的适当位置
当我通过 https 链接登录管理员时,它可以工作,但 Chrome 告诉我某些资源不安全。使用 Chrome 开发者工具,我发现它是这样的:
The page at https://{mysite}/wp-admin/options-general.php?settings-updated=true displayed insecure content from http://{mysite}/wp-content/plugins/the-events-calendar/resources/events.css?ver=1.6.5.
The page at https://{mysite}/wp-admin/options-general.php?settings-updated=true ran insecure content from http://{mysite}/wp-content/plugins/the-events-calendar/resources/events.js?ver=3.1.1.
看起来“The Events Calendar”插件不太符合 SSL 设置。
我已经尝试在管理员中将 WordPress 地址 (URL)
和 站点地址 (URL)
配置为 https://{mysite}
,虽然这完全解决了管理员中的问题,但它会在主站点上导致类似的安全内容错误。我不是特别希望主站点通过 SSL 运行,所以我不喜欢这个选项。
站点安装在 Dreamhost,使用他们的“一键安装”系统。它创建的 .htaccess 文件是:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
我觉得正确的修复需要修改 .htaccess,但我有点 犹豫要不要这样做,因为我不想潜在地破坏 Dreamhost 为 Wordpress 网站提供的自动更新系统。
提前致谢。
编辑:
“WordPress HTTPS”插件似乎解决了我所有的问题。
最佳答案
如何修改该插件,使其从安全文件夹(我猜是 wp-admin
)加载 js 和 css 文件?
这两个文件由文件 the-events-calendar.class.php 中的插件加载,第 471 行,函数 loadDomainStylesScripts()
。如果您更改了 $eventsURL
变量的定义,您应该完成了。这是插件的作用:
$eventsURL = trailingslashit( WP_PLUGIN_URL ) .
trailingslashit( plugin_basename( dirname( __FILE__ ) ) ) .
'resources/';
你需要这样的东西:
$eventsURL = '/wp-admin/events-calendar-resources/';
如果您自己创建该文件夹(并且您必须这样做),我猜自动 WP 更新不会删除它(但这只是一个猜测)。
关于WordPress、SSL 和管理员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5657325/