我的一些CouchDB文档ID中有一个正斜杠(/
)。我发现这对我的网址有问题,因为我需要将它们转义为%2F
。在重写URL时,我想做类似以下的事情
"rewrites": [
{
"from": "/id/:prefix/:postfix",
"to": "/_show/html/:prefix%2F:postfix",
"method": "GET",
"query": {}
}
]
但是,这不会导致我的文件。
有可能做我想做的事吗?
答案 0 :(得分:0)
According to the CouchDB docs,CouchDB自CouchDB 1.7以来一直支持这种重写(作为字符串化函数),但Cloudant's documentation并未谈论此特定功能(仅从数组重写)。
{
"_id": "_design/myRewrites",
"rewrites": "function (req2) {\n return {path: \"../../../\" + req2.path.slice(4).join(\"%2F\")};\n}"
}
更好地格式化重写函数:
function (req2) {
return {path: "../../../" + req2.path.slice(4).join("%2F")};
}