node package manager


URL rewrite middleware for koa


URL rewrite middleware for koa.

Notice: koa-rewrite@2 supports koa@2, if you want to use this module with koa@1, please use koa-rewrite@1.

$ npm install koa-rewrite

Rewrite using a regular expression, rewriting /i123 to /items/123.

app.use(rewrite(/^\/i(\w+)/, '/items/$1'));

Rewrite using route parameters, references may be named or numeric. For example rewrite / to /commits/foo/to/bar:

app.use(rewrite('/:src..:dst', '/commits/$1/to/$2'));
app.use(rewrite('/:src..:dst', '/commits/:src/to/:dst'));

You may also use the wildcard * to soak up several segments, for example /js/vendor/jquery.js would become /public/assets/js/vendor/jquery.js:

app.use(rewrite('/js/*', '/public/assets/js/$1'));

Use the DEBUG environment variable with "koa-rewrite":

koa-rewrite rewrite /i123 -> /items/123 +762ms
koa-rewrite rewrite /i321 -> /items/321 +9s
koa-rewrite rewrite /i123 -> /items/123 +5s