【问题标题】:apache2 + Passenger3 + Rails3 routing problemapache2 + Passenger3 + Rails3 路由问题
【发布时间】:2011-06-21 11:49:41
【问题描述】:

乘客 3 有问题

在 routes.rb 我有

匹配 'main/subgroups/:id' => 'main#subgroups'

在 access_log 文件中

“GET /main/subgroups/Arts HTTP/1.1”304 - “-” "GET /main/subgroups/Arts%2FCrafts%2FNeedlework HTTP/1.1" 404 323 "-"

据我了解,Apache 不会将第二个请求传递给乘客。

我应该在 httpd.conf 中更改什么?

【问题讨论】:

  • 这是一个 apache 问题。 AllowEncodedSlashes On 是个问题

标签: ruby-on-rails-3 passenger apache


【解决方案1】:

问题在于第二个 URL 与路由不匹配,因为您的 'id' 字段中包含正斜杠,这是 rails 路由的分隔符。

为了完成这项工作,请尝试将您的路线更改为(注意 id 上的 * 而不是 :):

match 'main/subgroups/*id' => 'main#subgroups'

这应该确保 main/subgroups 之后的所有内容都设置为 params[:id] ,无论其内容如何。

【讨论】:

  • 据我所知,这不是 Rails 问题。包含额外斜杠的请求甚至不会被 apache 传递给 rails
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-18
  • 2012-05-28
  • 1970-01-01
  • 1970-01-01
  • 2019-11-24
  • 2011-10-12
  • 1970-01-01
相关资源
最近更新 更多