WP Rocket 的 HTTPS改写 使AMP 验证失效


CloudFlareHTTPS改写 是把HTTPS页面的 HTTP链接 尽可能的改写成HTTPS. 这样就不会出现页面部分不安全的小灰锁 (Mixed Content)

cloudflare-automatic-https-rewrites WP Rocket 的 HTTPS改写 使AMP 验证失效 AMP 移动优化加速 CloudFlare I.T. 小技巧

cloudflare-automatic-https-rewrites

我用的是WP Rocket缓存插件, 这个插件里可以在CloudFlare 的基础上改写为更为简洁的形式, 改写成 // 这样一来浏览器就会根据当前的协议来访问相应的版本. 虽然理论上说所有链接都可以由 http:// 或者 https:// 全改写成和协议无关的 // 链接, 但是很显然 AMP 并不允许你这样做.

amp-https WP Rocket 的 HTTPS改写 使AMP 验证失效 AMP 移动优化加速 CloudFlare I.T. 小技巧

CloudFlare HTTPS Rewrite Fails AMP Validation

最简单的方法就是全局关掉, 或者添加一个页面规则来把HTTPS重写关掉.

cloudflare-page-rule-to-disable-automatic-https-rewrite-in-amp WP Rocket 的 HTTPS改写 使AMP 验证失效 AMP 移动优化加速 CloudFlare I.T. 小技巧

cloudflare-page-rule-to-disable-automatic-https-rewrite-in-amp

还可以在 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 验证失效

GD Star Rating
loading...
本文一共 198 个汉字, 你数一下对不对.
WP Rocket 的 HTTPS改写 使AMP 验证失效. (AMP 移动加速版本)
上一篇: WordPress 博客使用 AMP 移动加速的技术和技巧
下一篇: 英国国家最低工资和国家生活工资的区别

扫描二维码,分享本文到微信朋友圈
c000ddcdd9d9f3e17d19e6e3abd00597 WP Rocket 的 HTTPS改写 使AMP 验证失效 AMP 移动优化加速 CloudFlare I.T. 小技巧

2 条评论

评论