解决“海外主域名无法备案——又想使用微信API分享”的办法

问题描述

很多朋友和我有一样的问题——域名在海外,并且不再支持实名认证的范围,即便转回国内,也无法通过实名认证,从而无法备案。但是微信的API使用列表又需要一个备案的域名。

这时候如果想使用微信的API,特别是分享时候有描述和图片就变得无比困难。

解决方法

想了几个办法,最终选择了JS 判断UA然后重定向到微信专用的备案域名。代码如下(注意替换域名)

if (navigator . userAgent . indexOf('MicroMessenger') !== - 1 && window . location . hostname . indexOf('blog.jing.do') !== - 1)
{
    window . location = "https://wechatdomain.com" + window . location . pathname + window . location . search + window . location . hash;
}
else if (navigator . userAgent . indexOf('MicroMessenger') == - 1 && window . location . hostname . indexOf('blog.jing.do') == - 1)
{
    window . location = "https://blog.jing.do" + window . location . pathname + window . location . search + window . location . hash;
}

PS:

之前想过用IP判断,如果是中国的,直接导向备案域名一了百了。但是发现问题是:1. 这样两个域名访问一个资源,会有SEO问题。 2. 微信有海外服务器,无法完全做到防屏蔽。

还想过直接在CDN上做文章,CloudFlare上可以写worker,直接就能判断,这个比在执行页面上写JS要高效很多,但是无奈如果这个方案需要购买2个worker给两个域名才行,如果有人有兴趣我回头搞搞分享给大家。

看完了?留个评分呗?
[0人评了分,平均: 0/5]

本站原创文章皆遵循“署名-非商业性使用-相同方式共享 3.0 (CC BY-NC-SA 3.0)”。转载请保留以下标注:

原文来源:《解决“海外主域名无法备案——又想使用微信API分享”的办法》

发表评论

邮箱地址不会被公开。

返回顶部