我想在 Android 中启用深层链接的自动验证,为此我需要将文件托管assetlinks.json
在我的服务器上https://mycompany.com
。这将允许在安装应用程序时自动验证我的深层链接。问题是,我们已进行重定向设置,以便所有来自的请求都https://mycompany.com
转到https://www.mycompany.com
。因此,当我将文件放入文件夹中时,它会被托管在不满足 Android 域验证器要求的服务器.well-known
上。https://www.mycompany.com/.well-known/assetlinks.json
请参阅此处的域名非重定向部分 https://support.google.com/google-ads/answer/10710301?sjid=18198349224505489730-NA
因此,如果我尝试打开 URL,https://mycompany.com/.well-known/assetlinks.json
它会被重定向到该URL https://www.mycompany.com/.well-known/assetlinks.json
,并且文件会显示在浏览器中,因此在浏览器中打开 URL 并不是一个好的测试。相反,我可以curl
在终端中使用命令来找出问题所在。
curl https://www.mycompany.com/.well-known/assetlinks.json
将返回文件的内容但curl https://mycompany.com/.well-known/assetlinks.json
不会。
我发现其他公司也能做到这一点,比如 Lyft。
当我们在终端中执行命令时curl https://lyft.com/.well-known/assetlinks.json
,您可以看到他们在其服务器上正确托管文件,而无需考虑www
其他 url 链接是否重定向,因此如果我们将https://lyft.com
其放入,它仍然会被正确重定向https://www.lyft.com
。
我们如何实现这一点?我们如何保留重定向,同时仍然为最后包含 assetlinks.json 的 URL 路径设置例外?
我的公司网站托管在 Apache HTTP 服务器上