由于URL编码,URL重写失败

代号

我最近在我的API项目上实现了版本控制。现在,我的api的URL必须以序列开头/v1/(如我目前在v1上)

我不想中断旧的呼叫,因此为了确保透明的兼容性,我想重写旧的url。

网址之类的/events/9999/attendees应重定向到/v1/events/9999/attendees

routes.rb使用以下代码在Rails路由配置文件中进行了设置:

match "*path", :to => redirect("/#{API_CONFIG['current_version']}/%{path}"),
:constraints => lambda { |request| true }

我现在面临的问题是,最终重写的路由似乎是经过url编码的……(或其他某种方式)实际上, %{path} 那似乎已被破坏了然后 :

/events/9999/attendees 重定向到 /v1/events%2F9999%2Fattendees

我究竟做错了什么 ?

非常感谢

奥兰多

您可以将一个块传递redirect给以指定正确的网址

match "*path", :to => redirect {|params, request| "/v1/#{params[:path]}"}, :constraints => lambda { |request| true }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

nginx URL重写失败

来自分类Dev

简单的URL重写失败

来自分类Dev

Nginx - 重写规则 url 编码

来自分类Dev

如何修复编码的URL的htaccess重写

来自分类Dev

udpate后,Wordpress客户URL重写失败

来自分类Dev

ESAPI验证URL由于&language参数而失败

来自分类Dev

由于URL重写,PHP $ _GET变量为空

来自分类Dev

使用Bing Search时URL编码失败

来自分类Dev

重写后重写url

来自分类Dev

从htaccess重写器中删除硬编码的URL

来自分类Dev

htaccess如何在url中重写编码的斜杠

来自分类Dev

QNetworkRequest URL包含“?” -由于QUrl编码而无法正确请求

来自分类Dev

QNetworkRequest URL包含“?” -由于QUrl编码而无法正确请求

来自分类Dev

更改模式时,IIS上的URL重写总是失败

来自分类Dev

将行添加到htaccess后,URL重写失败

来自分类Dev

IIS URL 重写入站规则条件失败

来自分类Dev

Nginx重写不重写url

来自分类Dev

Google Maps Geocode问题:某些编码URL失败

来自分类Dev

Google Maps Geocode问题:某些编码URL失败

来自分类Dev

request.getParameter()在正确编码的URL上失败

来自分类Dev

.htaccess URL为Yourls重写失败-在此服务器上找不到请求的URL

来自分类Dev

重写URL,但实际URL更改

来自分类Dev

规范URL和URL重写

来自分类Dev

URL重写排除特定URL

来自分类Dev

重写URL,但显示原始URL

来自分类Dev

重写URL,但实际URL更改

来自分类Dev

动态URL和URL重写

来自分类Dev

使用相对 URL 重写 URL

来自分类Dev

htaccess从URL查询重写