diff --git a/bin/server.js b/bin/server.js index a345910..9ad04a8 100644 --- a/bin/server.js +++ b/bin/server.js @@ -7,12 +7,14 @@ var cors = require('cors'); var authMiddleware = require('../lib/server/middlewares/authMiddleware'); var apiLimitsMiddleware = require('../lib/server/middlewares/apiLimitsMiddleware'); +var wwwRedirectMiddleware = require('../lib/server/middlewares/wwwRedirectMiddleware'); // Middlewares app.use(compress()); app.use(bodyParser.json()); app.use(cors()); +app.use(wwwRedirectMiddleware); app.use(authMiddleware); app.use(apiLimitsMiddleware); diff --git a/lib/server/middlewares/wwwRedirectMiddleware.js b/lib/server/middlewares/wwwRedirectMiddleware.js new file mode 100644 index 0000000..4560222 --- /dev/null +++ b/lib/server/middlewares/wwwRedirectMiddleware.js @@ -0,0 +1,12 @@ +var wwwRedirectMiddleware = function(req, res, next) { + 'use strict'; + + // Redirect www.yellowlab.tools to yellowlab.tools without "www" (for SEO purpose) + if(/^www\.yellowlab\.tools/.test(req.headers.host)) { + res.redirect(301, req.protocol + '://' + req.headers.host.replace(/^www\./, '') + req.url); + } else { + next(); + } +}; + +module.exports = wwwRedirectMiddleware; \ No newline at end of file