express-htaccess-middleware

    0.1.0 • Public • Published

    express-htaccess-middleware

    npm version Travis Coverage Status

    An express middleware that interprets .htaccess rewrite rules.

    Installation

    npm i express-htaccess-middleware

    Usage

    var path = require('path');
    var express = require('express');
    var RewriteMiddleware = require('express-htaccess-middleware');
    var RewriteOptions = {
      file: path.resolve(__dirname, '.htaccess'),
      verbose: (process.env.ENV_NODE == 'development'),
      watch: (process.env.ENV_NODE == 'development'),
    };
     
    var app = express();
    app.use(RewriteMiddleware(RewriteOptions));
    app.listen(3000, function () {
      console.log('Example app listening on port 3000!');
    });

    If the verbose option is set to true, the rules not understood by this module will be shown in the console. The redirections will also be displayed.

    This is very useful to debug your redirections when developing your app.

    If the watch option is set to true, the rewrite rules will be automatically reloaded whenever the htaccess file is modified.

    Supported directives

    RewriteEngine on|off

    The RewriteEngine on directive enables the rewriting engine.

    RewriteBase URL-path

    Sets the base URL for rewrites.

    RewriteCond TestVariable Pattern [Flags]

    Defines a condition under which rewriting will take place. The pattern has to be a regular expression.

    Supported variables
    • %{REQUEST_METHOD}

    • %{REQUEST_URI}

    • %{THE_REQUEST}

    • %{HTTP_HOST}

    • %{HTTP_USER_AGENT}

    • %{HTTP_REFERER}

    • %{QUERY_STRING}

    • %{ENV:...}

    Supported flags
    • NC

    • OR

    RewriteRule Pattern Substitution [Flags]

    Defines rules for the rewriting engine

    Supported flags
    • NC

    • R

    • N

    • L

    • F

    • G

    • QSA

    • QSD

    • S=x

    Install

    npm i express-htaccess-middleware

    DownloadsWeekly Downloads

    58

    Version

    0.1.0

    License

    MIT

    Last publish

    Collaborators

    • rundef