ios - 如何在 Nginx/Rails 上为 apple-app-site-association 文件设置正确的内容类型

标签 ios nginx ios-universal-links

为了为 iOS 应用程序设置通用链接,我创建了一个 apple-app-site-association 文件,并将其放在我的 Rails 应用程序的/public 目录中。

我可以将它 curl 到正确的地址,但它返回错误的内容类型。它返回 application/octet-stream,而不是 application/jsonapplication/pkcs7-mime,如您在此处的响应中所见:

curl -i https://example.com/apple-app-site-association

HTTP/1.1 200 OK
Server: nginx/1.10.1
Content-Type: application/octet-stream
Content-Length: 245
Last-Modified: Mon, 21 Nov 2016 12:45:00 GMT
Strict-Transport-Security: max-age=31536000

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "APPPREFIX.com.mycompany.app",
        "paths": [
          "/home*"
        ]
      }
    ]
  }

我试图在 nginx 配置中指定一个 Content-Type:

/etc/nginx/sites/sites-available/sitename: 

server {
   ...
   location /apple-app-site-association {
      default_type application/pkcs7-mime;
   }
}

我已保存此更改并重新启动 nginx。这对 curl 的响应没有任何影响。我还尝试了 location/public/apple-app-site-association {} 和其他一些变体,但没有效果。

设置 nginx 以正确的内容类型传送此文件的正确方法是什么?

最佳答案

这在 .htaccess 中对我有用:

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

关于ios - 如何在 Nginx/Rails 上为 apple-app-site-association 文件设置正确的内容类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40725154/

相关文章:

ios - (BOOL) webView...没有触发所有请求

ios - TableView 单元格仅在滚动一次后显示实际数据

ssl - Nginx certbot SSL 不适用于 Cloudflare

macos - OSX - 启动和停止 Nginx 错误

ios - 错误没有具有域权利的应用程序

ios - iOS 8-滚动不起作用

ios - 无法从生成的 QRCode 中获取信息

c# - 为什么图像开头有不需要的额外字节?

ios - 如何找到应用程序/网站的深层链接?

ios - 如何在 ReactJS 的/apple-app-site-association 页面上提供 apple-app-site-association 文件