如何在GoDaddy的网络托管服务上为没有扩展名的文件提供网络服务?

时间:2016-06-15 09:00:53

标签: linux http iis ios-universal-links

在为iOS应用设置通用链接时,Apple声明:

  
      
  • 创建一个 apple-app-site-association 文件,其中包含有关您的应用可以处理的网址的JSON数据。
  •   
  • apple-app-site-association 文件上传到您的HTTPS网络服务器。您可以将文件放在服务器的根目录或   .well-known子目录。
  •   

我们创建了一个名为“apple-app-site-association”的文件,没有扩展名,但如果导航到“http://ourdomain.com/apple-app-site-association”,则会收到404文件未找到错误。

Apple指定不在文件名中添加.json。

我们看到another SO overflow answer描述了IIS的配置更改,以便为没有扩展名的文件提供服务。但是从GoDaddy的Linux或IIS服务器上正确提供这个文件的技巧是什么?

2 个答案:

答案 0 :(得分:2)

我能够通过在根级别添加.htaccess文件来实现此目的:

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

奇怪的是,如果我试图将.app-app-site-association和.htaccess文件放在.well_known目录中,我就无法工作。

使用此配置,此处https://branch.io/resources/universal-links/的验证器全部为绿色,链接本身也有效。

答案 1 :(得分:0)

这对我们有用。

我们将此文本放在名为&#34; web.config&#34;的文件中。在我们的主Web目录中以及apple-app-site-association文件。

<?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <system.webServer>
         <staticContent>             
             <remove fileExtension=".xml"/>
      <remove fileExtension=".svg" />
      <remove fileExtension=".ttf" />
      <remove fileExtension=".eot" />
      <remove fileExtension=".woff" />
      <remove fileExtension=".json" />
      <remove fileExtension=".otf" />
      <remove fileExtension=".mp4" />
      <remove fileExtension=".zip"/>
      <remove fileExtension=".eps"/>
      <remove fileExtension=".pdf"/>
      <mimeMap fileExtension=".pdf" mimeType="application/pdf" />
      <mimeMap fileExtension=".zip" mimeType="application/zip"/>
      <mimeMap fileExtension=".eps" mimeType="application/octet-stream"/>
      <mimeMap fileExtension=".json" mimeType="application/json" />
      <mimeMap fileExtension=".otf" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
      <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
      <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
      <mimeMap fileExtension=".ttf" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
      <mimeMap fileExtension=".xml" mimeType="text/xml" />
      <mimeMap fileExtension="." mimeType="application/pkcs7-mime"/>
         </staticContent>
     </system.webServer>
 </configuration>

值得注意的是,正确地提供没有扩展名的文件 - 但是 - 正如我们所理解的那样 - Apple仍然需要另外两个步骤。 (1)您的服务器必须获得SSL证书,以便它可以通过HTTPS提供该文件(即在GoDaddy上购买约60美元/年); (2)您的服务器还必须对apple-app-site-association文件进行代码签名(GoDaddy每年约150美元,用于下载可以编码签名文件的证书。)