Я правильно (или, вероятно, не) установил пассажира на apache 2. Стойка работает, но sinatra продолжает выдавать 404.
Вот что работает:
config.ru
#app = proc do |env|
return [200, { "Content-Type" => "text/html" }, "hello <b>world</b>"]
end
run app
Вот что тоже работает:
Запустите app.rb (см. Ниже) с помощью ruby app.rb , а затем посмотрите на localhost: 4567 / about и /
перезапуск приложения, дает мне правильный привет мир. w00t.
Но тогда в здание входит синатра:
config.ru
require 'rubygems'
require 'sinatra'
root_dir = File.dirname(__FILE__)
set :environment, ENV['RACK_ENV'].to_sym
set :root, root_dir
set :app_file, File.join(root_dir, 'app.rb')
disable :run
run Sinatra::Application
и app.rb
require 'rubygems'
require 'sinatra'
get '/' do
"Hallo wereld!"
end
get '/about' do
"Hello world, it's #{Time.now} at the server!"
end
Это дает 404 с.
/ var / logs / apache2 / error.log правильно перечисляет их как "404" с чем-то, что меня беспокоит:
83.XXXXXXXXX - - [30/May/2010 16:06:52] "GET /about " 404 18 0.0007
83.XXXXXXXXX - - [30/May/2010 16:06:56] "GET / " 404 18 0.0007
То, что меня беспокоило, это место после / и / о. Будет ли Apache или Sinatra искать / [пробел], как /% 20?
Если кто-то знает, с чем связана эта проблема, может быть, известная ошибка (которую я не смог найти) или известная ошибка?
Может быть, я просто глуп и получаю "все неправильно"?
В противном случае полезны также любые подсказки о том, где можно получить, прочитать или зарегистрировать дополнительные данные разработчиков на работающей стойке, sinatra или пассажирском приложении: например, посмотреть, что ищет sinatra.
Некоторая другая информация:
Работает Ubuntu 9.04, apache2-mm-prefork (deb), mod_php5, ruby 1.8.7, пассажирский 2.2.11, sinatra 1.0