express-urlalias

URL rewriting middleware for Express.

npm install express-urlalias
4 downloads in the last week
16 downloads in the last month

URL Alias module using redis

Express middleware for URL rewriting middleware by mapping using redis. The module is for example useful mapping SEO optimized url to some index based url, e.g.

/posts/hello-world -> /posts/16

Usage

You must install the express-urlalias middleware before any other middleware (or at least the router). This is because it modifies the value of req.url, and you want that to happen before any other middleware looks at the request.

var urlalias = require('express-urlalias');
urlalias.configure('mysite');

var server = express.createServer();
server.configure(function() {
    server.use(urlalias);
    server.use(server.router);
});

To allow the module support multiple sites in one redis server. User should specify the domain

urlalias.configure('mysite');

To add a url alias

urlalias.add('/post/whatever-new-alias', '/post/1');

or callback with error

urlalias.add('/post/whatever-new-alias', '/post/1',
    function (err) {console.log(err);});

To delete a url alias

urlalias.remove('/post/whatever-new-alias');

or callback with error

urlalias.remove('/post/whatever-new-alias',
    function (err) {console.log(err);});

To check if the an alias already existed in database

urlalias.isExist('/post/whatever-new-alias', 
    function (returnBoolean)
    {console.log(returnBoolean);});        

The module will handle query string of the url automatically. When url aliasing is found, the middleware with replace the req.url with new url and store the original req.url to req.urlRewritten

Installation

$ npm install express-urlalias

License

Copyright 2013 Water Lou

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

npm loves you