我有 couchapp 工作正常。
这有效: http
://domain.com/file.html
这无效:http ://domain.com/file
我想让它明白,如果没有扩展名,它应该尝试 .html 扩展名。
我不确定这是 _rewrite 规则(我用来美化我的 URL)还是其他什么。
我有 couchapp 工作正常。
这有效: http
://domain.com/file.html
这无效:http ://domain.com/file
我想让它明白,如果没有扩展名,它应该尝试 .html 扩展名。
我不确定这是 _rewrite 规则(我用来美化我的 URL)还是其他什么。
AFAIK 重写当前不能用于将后缀添加到 URL 路径中的匹配变量。
您可以使用的另一种方法是将 file.html 的内容放入给定键(名为“content”或类似名称)下的 id 为“file”的文档中,创建一个显示函数 [1](将其称为“render” ") 以内容类型“text/html”输出该键的值,然后创建一个重写器,例如:
{
"from": "/:doc",
"to": "/_show/render/:doc",
"method": "GET",
"query": {
}
}
完整的设计文档如下所示:
{
"_id": "_design/rewrite",
"shows": {
"render": "function(doc) { return { headers: { \"Content-Type\": \"text/html\"}, body: doc.content } }"
},
"rewrites": [
{
"query": {},
"method": "GET",
"to": "/_show/render/:doc",
"from": "/:doc"
}
]
}
以及相应的文档:
{
"_id": "file",
"content": "<html>html content of doc goes here</html>"
}
我分享了一个遵循上述模式 [2] 的示例。
[1] http://wiki.apache.org/couchdb/Formatting_with_Show_and_List
[2] https://mikewallace.cloudant.com/rewriter/_design/rewrite/_rewrite/file