gpt4 book ai didi

ruby-on-rails - 在乘客和 Rails 之间,url 中的 url 编码下划线没有得到正确处理

转载 作者:行者123 更新时间:2023-12-03 22:39:48 34 4
gpt4 key购买 nike

我在上下文 scala_tour 下将 Rails 应用程序部署到我的服务器.转到 URL 时,一切正常。但是,如果 url 编码为 scala%5ftour (顺便说一句,这就是 SO 所做的),我从 Rails 和/或乘客那里得到一个错误。

乘客似乎可以识别 URL 并将其交给我的 Rails 应用程序,但 Rails 应用程序提示:

ActionController::RoutingError (No route matches "/scala%5Ftour" with {:method=>:get}):

这很奇怪。

除了在 Apache 中进行重定向并将我的应用程序部署到不同的上下文之外,我该如何处理呢?

版本
# yum list installed | grep http
httpd.i386 2.2.10-2.el5.eapps installed
# yum list installed | grep passen
passenger.i386 2.2.2-1eapps installed
# gem list | grep rails
rails (2.3.2, 2.2.2)
# ruby -v
ruby 1.8.6 (2008-06-20 patchlevel 230) [i386-linux]

路线.rb
ActionController::Routing::Routes.draw do |map|
map.resources :wiki_pages do |wiki_map|
wiki_map.history 'history', :controller => 'wiki_pages', :action => 'history', :method => 'GET'
wiki_map.version 'version/:sha1', :controller => 'wiki_pages', :action => 'version', :method => 'GET'
end
map.history '/history.:format', :controller => 'wiki_pages', :action => 'wiki_history', :method => 'get'
map.resources :diagrams, :only => [:index,:new,:destroy,:edit,:show]
map.logout '/logout', :controller => 'sessions', :action => 'destroy'
map.login '/login', :controller => 'sessions', :action => 'new'
map.resources :users
map.resource :session
map.root :controller => 'wiki_pages', :action => 'show', :id => 'MainPage'
end

Apache session
RailsBaseURI /scala_tour
PassengerPoolIdleTime 5

最佳答案

您可以立即想到两件事 mod_rewrite在 apache 中规范化 URL,或者您可以使用 Rack Middleware 重写它。 Here是可能会为您解决问题的 gem 。

关于ruby-on-rails - 在乘客和 Rails 之间,url 中的 url 编码下划线没有得到正确处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1406842/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com