I've been having some fun learning CouchDB and have started writing up a replacement for an simple internal app, as a learning exercise.
To make nice URLs, I looked at the notes on the rewrite handler at <http://blog.couchone.com/post/443028592/whats-new-in-apache-couchdb-0-11-part-one-nice-urls> and tried to set up my local sandbox to make rewrites work. But, so far I'm having no luck and I'm not fluent enough in Erlang to figure out exactly what the error message means. Configuration: couchdb 1.0.1 installed with homebrew on Mac OS X 10.6.5 (using a couchdb user/group and permissions fixed to be couchdb:couchdb on various /usr/local dirs for couchdb) App pushed with couchapp. I can access the un-rewritten URL just fine <http://127.0.0.1:5984/tinderbox/_design/app/index.html> My /etc/hosts has: 127.0.0.1 tb-test local.ini has these interesting bits: [log] level = debug [vhosts] tb-test:5984 = /tinderbox/_design/app/_rewrite my app/rewrites.js has exactly the example at the top of couch_httpd_rewrite's handle_rewrite_req/3 [ { "from:": "", "to": "index.html", "method": "GET", "query": {} } ] when I open http://tb-test:5984/ my log file gets: [Fri, 19 Nov 2010 07:17:59 GMT] [debug] [<0.103.0>] Vhost Target: '"/tinderbox/_design/app/_rewrite/"' [Fri, 19 Nov 2010 07:17:59 GMT] [debug] [<0.103.0>] 'GET' /tinderbox/_design/app/_rewrite/ {1,1} Headers: [{'Accept',"application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"}, {'Accept-Encoding',"gzip, deflate"}, {'Accept-Language',"en-us"}, {'Connection',"keep-alive"}, {'Host',"tb-test:5984"}, {'User-Agent',"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; en-us) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5"}] [Fri, 19 Nov 2010 07:17:59 GMT] [debug] [<0.103.0>] OAuth Params: [] [Fri, 19 Nov 2010 07:17:59 GMT] [error] [<0.103.0>] function_clause error in HTTP request [Fri, 19 Nov 2010 07:17:59 GMT] [info] [<0.103.0>] Stacktrace: [{couch_httpd_rewrite,'-handle_rewrite_req/3-lc$^1/1-1-', [<<"[\n\t{\n\t\t\"from:\": \"\",\n\t\t\"to\": \"index.html\",\n\t\t\"method\": \"GET\",\n\t\t\"query\": {}\n\t}\n]">>]}, {couch_httpd_rewrite,handle_rewrite_req,3}, {couch_httpd_db,do_db_req,2}, {couch_httpd,handle_request_int,5}, {mochiweb_http,headers,5}, {proc_lib,init_p_do_apply,3}] [Fri, 19 Nov 2010 07:17:59 GMT] [info] [<0.103.0>] 127.0.0.1 - - 'GET' /tinderbox/_design/app/_rewrite/ 500 [Fri, 19 Nov 2010 07:17:59 GMT] [debug] [<0.103.0>] httpd 500 error response: {"error":"unknown_error","reason":"function_clause"} So, it looks like it is finding the rewrite rule, but something about what I'm going it giving it fits. The error message isn't particularly helpful =) Any suggestions about what I might be doing wrong would be much appreciated. Thanks! -tim
