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

Package Sidebar

Install

npm i express-htaccess-middleware

Weekly Downloads

21

Version

0.1.0

License

MIT

Last publish

Collaborators

  • rundef