You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by Apache Wiki <wi...@apache.org> on 2011/05/15 23:00:59 UTC

[Couchdb Wiki] Update of "Rewriting_urls" by StephaneAlnet

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification.

The "Rewriting_urls" page has been changed by StephaneAlnet.
The comment on this change is: Added link to blog post by Jan Lehnardt explaining how to combine rewriting with virtual hosts..
http://wiki.apache.org/couchdb/Rewriting_urls?action=diff&rev1=10&rev2=11

--------------------------------------------------

- This is an overview of http rewrite handler
+ This is an overview of http rewrite handler.
+ 
+ [[http://blog.couchone.com/post/443028592/whats-new-in-apache-couchdb-0-11-part-one-nice-urls|This post]] has examples and shows how to combine Rewriting with [[Virtual_Hosts|Virtual hosts]] to generate nice URLs in CouchDB.
  
  == The HTTP Rewrite Handler ==
  
- The http rewrite handler. All rewriting is done from 
+ The http rewrite handler. All rewriting is done from
  /dbname/_design/ddocname/_rewrite by default.
  
  each rules should be in rewrites member of the design doc.
  Ex of a complete rule :
  {{{
  
- { 
+ {
-     .... 
+     ....
-     "rewrites": [ 
+     "rewrites": [
-     { 
+     {
-         "from": "", 
+         "from": "",
-         "to": "index.html", 
+         "to": "index.html",
-         "method": "GET", 
+         "method": "GET",
-         "query": {} 
+         "query": {}
-     } 
+     }
-     ] 
+     ]
- } 
+ }
  
  
  }}}
@@ -35, +37 @@

  "*". ex:
  /somepath/:var/*
  
- This path is converted in erlang list by splitting "/". Each var are 
+ This path is converted in erlang list by splitting "/". Each var are
  converted in atom. "*" is converted to '*' atom. The pattern matching is done
- by splitting "/" in request url in a list of token. A string pattern will 
+ by splitting "/" in request url in a list of token. A string pattern will
- match equal token. The star atom ('*' in single quotes) will match any number 
+ match equal token. The star atom ('*' in single quotes) will match any number
- of tokens, but may only be present as the last pathtern in a pathspec. If all 
+ of tokens, but may only be present as the last pathtern in a pathspec. If all
  tokens are matched and all pathterms are used, then the pathspec matches. It works
  like webmachine. Each identified token will be reused in to rule and in query
  
- The pattern matching is done by first matching the request method to a rule. by 
+ The pattern matching is done by first matching the request method to a rule. by
  default all methods match a rule. (method is equal to "*" by default). Then
- It will try to match the path to one rule. If no rule match, then a 404 error 
+ It will try to match the path to one rule. If no rule match, then a 404 error
  is displayed.
  
  Once a rule is found we rewrite the request url using the "to" and
- "query" members. The identified token are matched to the rule and 
+ "query" members. The identified token are matched to the rule and
  will replace var. if '*' is found in the rule it will contain the remaining
  part if it exists.