我尝试渲染文件以支持Apple Universal Links,这意味着基本上渲染一个非常小的JSON文件。
Apple网站的一个必要条件是在没有重定向的情况下提供文件。但由于某些原因,我正在处理的这个项目在生产中只有website.com/path
到www.website.com/path
的自动重定向。我不确定这是故意的,也不是这样配置的,或者这个错误是否存在于Rails范围之外(DNS配置可能?)。
Rails(4.1.x)应用程序具有以下路由器条目:
# Router
get '/.well-known/apple-app-site-association', to: 'static_pages#universal_links'
和控制器功能声明:
def universal_links
file = File.join(Rails.root, 'app/views/static_pages/apple-app-site-association')
send_file file, disposition: 'inline', type: 'application/json'
end
现在,以下请求似乎正常运行:
curl localhost:3000/.well-known/apple-app-site-association
curl www.website.com/.well-known/apple-app-site-association
curl https://www.website.com/.well-known/apple-app-site-association
但这些请求无效:
curl website.com/.well-known/apple-app-site-association
curl https://website.com/.well-known/apple-app-site-association
他们(都)用重定向回复:
<html><body>You are being <a href="http://www.website.com/.well-known/apple-app-site-association">redirected</a>.</body></html>
我不确定这是通用链接无法正常工作的唯一原因,但我需要了解导致此应用重定向的原因(也许是一种自定义此行为的方法)。
注意:从Apple's validation tool我获取以下信息: