我想创建一个Rails应用程序,通过链接或键入文件的URL为任何请求的文件创建一个漂亮的下载页面。有没有办法拦截Apache或其他地方的文件请求并将其发送到应用程序,以便它可以生成页面?
我也不想在重定向到应用时更改网址,但无论哪种方式都无关紧要。
所以总结一下,把这个:http://files.spherecat1.com/stuff.txt转换成这个:
http://files.spherecat1.com/download-page-mockup.png
(图片仅供说明之用,可能无法准确描述最终产品。向所有内容添加免责声明很有趣。)
答案 0 :(得分:0)
你的意思是整个Rails应用程序吗?看起来像矫枉过正 - 您可以更轻松地使用Sinatra,单一路线和send_file功能。 It also deploys on Apache with Passenger.
如果你可以控制这个东西,并且你只打算以这种方式而不是任何其他方式提供下载,你应该将这些文件存储在一些非公共目录中,而是允许你的Rails / Sinatra应用程序访问和将文件推送给用户。 (同样,使用send_file,这很简单。)如果您的用户永远不会以这种方式访问文件,为什么要在您的网络根目录中放置文件?