Ruby on rails 控制Rails中的公共文件响应代码
假设我在我的Rails应用程序中有一个POST端点,其中它获得一个名为state的参数,该参数将是200或503的整数 如何使Robots.txt文件从该POST端点以给定状态响应,我的意思是我需要一种方法来根据该POST端点控制该唯一文件(Robots.txt)的响应代码 顺便说一句,问题不在于如何存储该状态或其他内容,而在于如何更改公共文件的响应代码 可能吗Ruby on rails 控制Rails中的公共文件响应代码,ruby-on-rails,ruby-on-rails-4,asset-pipeline,nginx,Ruby On Rails,Ruby On Rails 4,Asset Pipeline,Nginx,假设我在我的Rails应用程序中有一个POST端点,其中它获得一个名为state的参数,该参数将是200或503的整数 如何使Robots.txt文件从该POST端点以给定状态响应,我的意思是我需要一种方法来根据该POST端点控制该唯一文件(Robots.txt)的响应代码 顺便说一句,问题不在于如何存储该状态或其他内容,而在于如何更改公共文件的响应代码 可能吗 我现在考虑的是让控制器动作与robots.txt路由匹配,但我觉得这样做太愚蠢了。是的,如果您希望Rails参与决定给定URL的响应,
我现在考虑的是让控制器动作与robots.txt路由匹配,但我觉得这样做太愚蠢了。是的,如果您希望Rails参与决定给定URL的响应,那么您需要定义一个控制器动作来处理这些请求 您可以使用来实际执行文件发送部分 根据web服务器的配置,您可能需要将实际的
robots.txt
文件存储在public/
以外的其他位置,否则Rails甚至没有机会参与进来,也可能无法提供该文件
您可以根据需要的响应代码,在运行时重新编写nginx(比如)配置文件。。。但我认为那样做是愚蠢的 一个更实际的折衷方案是让Rails创建或删除一个标记文件,然后根据该文件是否存在在nginx配置中使用一个条件。这将是一个问题,虽然。。。如果您有多台服务器,则会变得复杂