Wordpress woocommerce 在 chrome 浏览器中重定向到 https
Wordpress woocomerce redirecting to https in chrome browser
带有 woocomerce 插件的 Wordpress(版本 < 2.3.12)在使用 chrome 浏览器版本 44 访问时重定向到 https。
初始请求将通过 http 完成,但响应中的资源(css、js、链接)将以 https 为前缀。
登录请求也将重定向 https。
调用 is_ssl()
(wp-included/functions.php) returns 在 chrome.
中为真
function is_ssl() {
if ( isset($_SERVER['HTTPS']) ) {
if ( 'on' == strtolower($_SERVER['HTTPS']) )
return true;
if ( '1' == $_SERVER['HTTPS'] )
return true;
} elseif ( isset($_SERVER['SERVER_PORT']) && ( '443' == $_SERVER['SERVER_PORT'] ) ) {
return true;
}
return false;
}
但在所有其他经过测试的浏览器中都是错误的
这是由于 Chrome v44 向每个请求发送一个新请求 header HTTPS = 1
,并且 woocomerce 版本 < 2.3.12 不正确
识别此 header 的存在以指示请求是通过 https 代理服务器提供的。
有问题的代码可以在/wp_content/woocommerce/woocommerce.php
:
中找到
if ( ! isset( $_SERVER['HTTPS'] ) && ! empty( $_SERVER['HTTP_HTTPS'] ) )
$_SERVER['HTTPS'] = $_SERVER['HTTP_HTTPS'];
要解决此问题,您可以注释掉这些行(通过 ftp 或直接在服务器上)。
或者,您可以将您的 woocomerce 插件升级到最新版本(这已在 v 2.3.12 中修复),或者
使用其他浏览器登录您的管理面板,或将 chrome 升级到最新版本。
这已在 chrome https://code.google.com/p/chromium/issues/detail?id=505268 中修复,大多数用户更新速度很快,
所以这不太可能是一个长期问题,但让我很头疼,我认为值得在这里提出来
非常感谢https://ma.ttias.be/chrome-44-sending-https-header-by-mistake-breaking-web-applications-everywhere/
此问题已在上一个主题中提出并得到解答!
不要编辑插件核心,这个错误有很多解决方法。
带有 woocomerce 插件的 Wordpress(版本 < 2.3.12)在使用 chrome 浏览器版本 44 访问时重定向到 https。
初始请求将通过 http 完成,但响应中的资源(css、js、链接)将以 https 为前缀。
登录请求也将重定向 https。
调用 is_ssl()
(wp-included/functions.php) returns 在 chrome.
function is_ssl() {
if ( isset($_SERVER['HTTPS']) ) {
if ( 'on' == strtolower($_SERVER['HTTPS']) )
return true;
if ( '1' == $_SERVER['HTTPS'] )
return true;
} elseif ( isset($_SERVER['SERVER_PORT']) && ( '443' == $_SERVER['SERVER_PORT'] ) ) {
return true;
}
return false;
}
但在所有其他经过测试的浏览器中都是错误的
这是由于 Chrome v44 向每个请求发送一个新请求 header HTTPS = 1
,并且 woocomerce 版本 < 2.3.12 不正确
识别此 header 的存在以指示请求是通过 https 代理服务器提供的。
有问题的代码可以在/wp_content/woocommerce/woocommerce.php
:
if ( ! isset( $_SERVER['HTTPS'] ) && ! empty( $_SERVER['HTTP_HTTPS'] ) )
$_SERVER['HTTPS'] = $_SERVER['HTTP_HTTPS'];
要解决此问题,您可以注释掉这些行(通过 ftp 或直接在服务器上)。
或者,您可以将您的 woocomerce 插件升级到最新版本(这已在 v 2.3.12 中修复),或者 使用其他浏览器登录您的管理面板,或将 chrome 升级到最新版本。
这已在 chrome https://code.google.com/p/chromium/issues/detail?id=505268 中修复,大多数用户更新速度很快, 所以这不太可能是一个长期问题,但让我很头疼,我认为值得在这里提出来
非常感谢https://ma.ttias.be/chrome-44-sending-https-header-by-mistake-breaking-web-applications-everywhere/
此问题已在上一个主题中提出并得到解答!
不要编辑插件核心,这个错误有很多解决方法。