-
Notifications
You must be signed in to change notification settings - Fork 90
How to rewrite URLs to local or remote destinations
Lloyd Brookes edited this page Jun 24, 2017
·
17 revisions
Your application requested /css/style.css but it's stored at /build/css/style.css. To avoid a 404 you need a rewrite rule:
$ ws --rewrite '/css/style.css -> /build/css/style.css'Or, more generally (matching any stylesheet under /css):
$ ws --rewrite '/css/:stylesheet -> /build/css/:stylesheet'With a deep CSS directory structure it may be easier to mount the entire contents of /build/css to the /css path:
$ ws --rewrite '/css/* -> /build/css/$1'this rewrites /css/a as /build/css/a, /css/a/b/c as /build/css/a/b/c etc.
If the to URL contains a remote host, local-web-server will act as a proxy - fetching and responding with the remote resource.
Mount the npm registry locally:
$ ws --rewrite '/npm/* -> http://registry.npmjs.org/$1'Map local requests for repo data to the Github API:
$ ws --rewrite '/:user/repos/:name -> https://api.github.com/repos/:user/:name'See path-to-regexp for the from route syntax.
Config example
{
rewrite: [
{ from: "/css/*", "to": "/build/styles/$1" },
{ from: "/npm/*", "to": "http://registry.npmjs.org/$1" },
{ from: "/broken/*", "to": "http://localhost:9999" },
{ from: "/:user/repos/:name", "to": "https://api.github.com/repos/:user/:name" }
]
}