通用链接 - 该域存在一些验证问题

问题描述 投票:0回答:5

我正在研究通用链接,以便在点击网址时打开应用程序。我正在使用 https 服务器并完成了 Apple 的所有步骤(Apple Doc)。但是苹果通用链接验证器显示以下错误,

您的文件的“内容类型”标头未找到或未被识别。

enter image description here

apple-app-site-association 文件已成功上传到服务器,文件如下所示,

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "J2HBF9A3PZ.com.aors.speaku",
                "paths": ["*","/"]
            }
        ]   
    }
}

而且苹果说无论域名是否有https,都不需要签署

apple-app-site-association
文件。

如果文件未签名,则其内容类型应为 应用程序/json.否则,它应该是 application/pkcs7-mime。

所以我的问题是如何在这个

application/json
文件中提及内容类型 (
apple-app-site-association
)???

请帮我解决这个问题。我不知道它到底是什么意思。

ios https deep-linking ios-universal-links
5个回答
56
投票

我刚刚自己解决了这个问题。我必须登录到我的服务器并转到

apple-app-site-association
文件所在的目录。在这个目录中,我有一个
.htaccess
文件,我将其修改为包含以下几行:

<Files "apple-app-site-association">
ForceType 'application/json'
</Files>

执行此操作后,验证服务不再抱怨

Content-Type

注意事项:

  • 如果您没有
    .htaccess
    文件,您可以创建一个。
  • 我认为
    .htaccess
    文件应该位于站点目录的根目录中(这是您最有可能放置
    apple-app-site-association
    文件的位置。

2
投票

此修复了

firebase.json
文件中的内容类型验证。

 {
  "hosting": {
    "public": "public",
    "headers": [
      {
        "source": "/.well-known/apple-app-site-association",
        "headers": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ]
      }
    ],
    "appAssociation": "NONE"
  }
}

1
投票

WordPress 网站。将其粘贴到 .htaccess 的末尾实际上对我有用:

标头设置内容类型“application/pkcs7-mime”


0
投票

这个语法对我有用:

<FilesMatch "apple-app-site-association">
    ForceType application/json
</FilesMatch>

0
投票

您提供的代码片段正在配置 Apache 以处理对 MIME 类型 application/json 的 apple-app-site-association 文件的请求。此配置通常用于与 Apple 应用程序相关的服务,例如通用链接或应用程序剪辑,以允许服务器使用正确的标头提供 apple-app-site-association 文件。

为了确保 Apache 正确处理 apple-app-site-association 文件,可以使用以下配置:

<Files "apple-app-site-association">
    ForceType application/json
    Header set Content-Type "application/json"
</Files>

这会强制 Apache 将 apple-app-site-association 文件视为 JSON 文件,并将 Content-Type 标头显式设置为 application/json。

确保您的 Apache 服务器上启用了 mod_headers 模块:

sudo a2enmod headers
sudo service apache2 restart

这将确保 apple-app-site-association 文件在请求时正确地作为 JSON 文件提供。

© www.soinside.com 2019 - 2024. All rights reserved.