ruby - 西纳特拉静态页面

标签 ruby sinatra

在我的公共(public)文件夹中,我有一个文件index.html。我希望能够仅使用 url localhost:4567 来显示页面(不显示 localhost:4567/index.html)

这是我当前的 ruby​​ 脚本:

require 'sinatra'

set :public_folder, 'public'

get '/' do
  redirect '/index.html'
end

我已尝试删除重定向语句,但网址仍然出现 index.html

最佳答案

您可以使用send_file这里:

get "/" do
  send_file 'public/index.html'
end

您需要提供工作目录中文件的完整路径(即不仅仅是 public 下的路径),并且这只适用于根 url,它不会提供 index.html 通常用于目录页面。如果您愿意,您可能需要在 Sinatra 前面设置一个单独的 Web 服务器并对其进行适当的配置。

关于ruby - 西纳特拉静态页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42140490/

相关文章:

ruby-on-rails - 在 Shopify 上获取单个客户的所有订单

ruby-on-rails - 在 Rails 中登录时显示不同的文本

ruby - 在 ruby​​ 模型中调用方法之前

ruby - "Error bad URI"试图让 WEBrick 接受 HTTPS

ruby - Sinatra 请求对象

ruby-on-rails - Rufus-时区调度程序变量 - ruby​​ on Rails

ruby - 从 Sinatra 发送 DELETE 请求

ruby - Sinatra:指定使用多个应用程序时搜索路线的顺序?

ruby-on-rails - 在 Heroku 上的 Sinatra 应用程序中, session 未跨 Dynos 共享

ruby - Sinatra 不会在 Chrome 上通过重定向保持 session