couchapp:对带有和不带正斜杠的URL进行不同的重写

时间:2015-06-08 17:20:48

标签: rewrite couchdb couchapp

基本上,我想为这些网址设置两种不同的重写规则:http://127.0.0.1:5984/test/_design/myapp/_rewrite/docs/abc http://127.0.0.1:5984/test/_design/myapp/_rewrite/docs/abc/

第一个将被重写为http://127.0.0.1:5984/test/_design/myapp/_show/single/abc,而第二个将被重写为http://127.0.0.1:5984/test/_design/myapp/_list/container/all

我试过这样做:

{
    "---": "Container Retrieval",
    "method": "GET",
    "from": "/docs/*/",
    "to": "/_list/basic-container/all"
  }

这两个网址(包含和不包含正斜杠)都会重定向到http://127.0.0.1:5984/test/_design/myapp/_list/container/all。似乎couchDB忽略了URL末尾的正斜杠。

这个问题的可能解决方案是什么?

1 个答案:

答案 0 :(得分:1)

星号捕获整个跟随路径。请尝试以下方法:

{
  "method": "GET",
  "from": "/docs/:id",
  "to": "/_show/single/:id"
},
{
  "method": "GET",
  "from": "/docs/:id/",
  "to": "/_list/basic-container/all"
}