我有一个使用--no-brunch
创建的仅限Phoenix JSON API的应用程序,并且不提供静态内容。
我发现机器人试图抓取我的robots.txt
时出现错误,这是不存在的,并呈现500.json-api
视图,导致Phoenix.Template.HTML.encode_to_iodata!
尝试编码JSON时发生异常。
有没有更好的方式来提供robots.txt
而不进行静态资产编译,这样我就可以避免这些错误,理想情况下不允许抓取我的API?
答案 0 :(得分:2)
只需将以下内容添加到lib/my_app/endpoint.ex
文件中:
plug Plug.Static,
at: "/", from: :my_app, gzip: false,
only: ~w(robots.txt)
当然,您需要更改my_app
部分。
如果你要部署到Heroku,你应该:
--no-brunch
,则取消注释忽略.gitignore
/priv/static
的{{1}} {/ 1}}。