【问题标题】:Config apple-app-site-association file with WordPress使用 WordPress 配置 apple-app-site-association 文件
【发布时间】:2018-01-05 12:34:27
【问题描述】:

我正在尝试实现 iOS 通用链接,我需要在我的 WordPress 的根目录中提供一个 apple-app-association 文件。

如何在 WordPress 中使用 Content-type: "application/pkcs7-mime" 提供我的 apple-app-association 文件?

我试过直接上传,当然不行,因为我需要修改apple-app-association的Content-type为:Content-type: "application/pkcs7-mime"

【问题讨论】:

    标签: php ios wordpress ios-universal-links


    【解决方案1】:

    由于apple-app-site-association 文件不是WordPress 文件,您必须在服务器级别配置内容类型。这取决于环境(例如 Apache 与 nginx)。如果您的主机不允许访问低级配置,这可能会很困难。

    Apache 配置

    修改 /etc/apache2/sites-available/default-ssl(或等效)文件以包含 sn-p:

    <Directory /path/to/root/directory/>
    ...
    <Files apple-app-site-association>
    Header set Content-type "application/pkcs7-mime"
    </Files>
    </Directory>
    

    nginx 配置

    修改 /etc/nginx/sites-available/ssl.example.com(或等效)文件以包含位置 /apple-app-association sn-p:

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

    来源:https://gist.github.com/anhar/6d50c023f442fb2437e1#modifying-the-content-type

    理论上我相信可以通过 .htaccess 文件进行 Apache 配置,但我从未尝试过。

    您可能更愿意查看免费托管的深层链接服务,例如 Branch(完全披露:我在 Branch 团队)或 Firebase 动态链接来为您处理所有这些。

    【讨论】:

    • 谢谢,这对我有用。对于 Ubuntu 上的 Apache,我还需要安装 Headers 模块并启用 $ a2enmod headers 然后重新启动 Apache。
    • @rob5408,我也有类似的情况。不知道如何将文件传输到网站根目录。有什么建议吗?
    • @Shyam 对不起,不。即使是我的小问题,我也不知所措;)
    • /path/to/root/directory/ 在这种情况下究竟代表什么?
    【解决方案2】:

    如果有人遇到与我的网站托管在 Bitnami WordPress 上的情况相同的情况(例如通过 AWS),您的根目录路径是 /opt/bitnami/apps/wordpress/htdocs。将关联文件复制到那里后,对 Alex 的回答中描述的内容类型标头进行配置更改的位置是 /opt/bitnami/apps/wordpress/conf/httpd-app.conf .最后,您需要使用命令sudo apachectl -k graceful 重新启动 Apache 以启动配置更改。您可以使用此validator tool 验证您的设置是否正确。

    查看我的帖子here了解更多详情。

    【讨论】:

    • 有趣的是,您引用的验证器工具实际上比 Apple 自己的验证器工具要好。苹果的工具在没有 JSON 解析的时候经常会报错。
    【解决方案3】:

    在 Apache 中使用内容类型 application/json 或 application/pkcs7-mime 交付 apple-app-site-association 文件的最简单方法是在同一目录中添加一个具有以下内容的 .htaccess 文件:

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

    <Files apple-app-site-association>
    ForceType application/pkcs7-mime
    </Files>
    

    那么您不必将其添加到您的服务器配置中。

    归功于http://redquark.com/wp/?p=209

    【讨论】:

    • 这适用于我们由 BlueHost 托管的网站。超级简单的解决方案。
    猜你喜欢
    • 2020-08-28
    • 2017-07-11
    • 1970-01-01
    • 2016-01-06
    • 2016-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多