CloudFlare 的 HTTPS改写 是把HTTPS页面的 HTTP链接 尽可能的改写成HTTPS. 这样就不会出现页面部分不安全的小灰锁 (Mixed Content)
我用的是WP Rocket缓存插件, 这个插件里可以在CloudFlare 的基础上改写为更为简洁的形式, 改写成 // 这样一来浏览器就会根据当前的协议来访问相应的版本. 虽然理论上说所有链接都可以由 http:// 或者 https:// 全改写成和协议无关的 // 链接, 但是很显然 AMP 并不允许你这样做.
最简单的方法就是全局关掉, 或者添加一个页面规则来把HTTPS重写关掉.
还可以在 functions.php 模板函数里添加以下代码来只在 AMP 页面里关掉这个功能.
1 2 3 4 5 6 7 8 9 10 | function disable_cloudflare_automatic_https_rewrite_amp() { if ( defined( 'AMP_QUERY_VAR' ) && function_exists( 'is_amp_endpoint' ) && is_amp_endpoint() ) { $do_rocket_protocol_rewrite = apply_filters( 'do_rocket_protocol_rewrite', false ); if ( ( get_rocket_option( 'do_cloudflare', 0 ) && get_rocket_option( 'cloudflare_protocol_rewrite', 0 ) || $do_rocket_protocol_rewrite ) ) { remove_filter( 'rocket_buffer', '__rocket_protocol_rewrite', PHP_INT_MAX ); remove_filter( 'wp_calculate_image_srcset', '__rocket_protocol_rewrite_srcset', PHP_INT_MAX ); } } } add_action( 'wp', 'disable_cloudflare_automatic_https_rewrite_amp' ); |
function disable_cloudflare_automatic_https_rewrite_amp() { if ( defined( 'AMP_QUERY_VAR' ) && function_exists( 'is_amp_endpoint' ) && is_amp_endpoint() ) { $do_rocket_protocol_rewrite = apply_filters( 'do_rocket_protocol_rewrite', false ); if ( ( get_rocket_option( 'do_cloudflare', 0 ) && get_rocket_option( 'cloudflare_protocol_rewrite', 0 ) || $do_rocket_protocol_rewrite ) ) { remove_filter( 'rocket_buffer', '__rocket_protocol_rewrite', PHP_INT_MAX ); remove_filter( 'wp_calculate_image_srcset', '__rocket_protocol_rewrite_srcset', PHP_INT_MAX ); } } } add_action( 'wp', 'disable_cloudflare_automatic_https_rewrite_amp' );
英文: CloudFlare 的 HTTPS改写 使AMP 验证失效
强烈推荐
- 英国代购-畅购英伦
- TopCashBack 返现 (英国购物必备, 积少成多, 我2年来一共得了3000多英镑)
- Quidco 返现 (也是很不错的英国返现网站, 返现率高)
- 注册就送10美元, 免费使用2个月的 DigitalOcean 云主机(性价比超高, 每月只需5美元)
- 注册就送10美元, 免费使用4个月的 Vultr 云主机(性价比超高, 每月只需2.5美元)
- 注册就送10美元, 免费使用2个月的 阿里 云主机(性价比超高, 每月只需4.5美元)
- 注册就送20美元, 免费使用4个月的 Linode 云主机(性价比超高, 每月只需5美元) (折扣码: PodCastInit2022)
- PlusNet 英国光纤(超快, 超划算! 用户名 doctorlai)
- 刷了美国运通信用卡一年得到的积分 换了 485英镑
- 注册就送50英镑 – 英国最便宜最划算的电气提供商
- 能把比特币莱特币变现的银行卡! 不需要手续费就可以把虚拟货币法币兑换
微信公众号: 小赖子的英国生活和资讯 JustYYUK