seo.js 613 B

12345678910111213141516171819
  1. const _ = require('lodash')
  2. /**
  3. * SEO Middleware
  4. *
  5. * @param {Express Request} req Express request object
  6. * @param {Express Response} res Express response object
  7. * @param {Function} next next callback function
  8. * @return {any} void
  9. */
  10. module.exports = function (req, res, next) {
  11. if (req.path.length > 1 && _.endsWith(req.path, '/')) {
  12. let query = req.url.slice(req.path.length) || ''
  13. res.redirect(301, req.path.slice(0, -1) + query)
  14. } else {
  15. _.set(res.locals, 'pageMeta.url', `${WIKI.config.host}${req.path}`)
  16. return next()
  17. }
  18. }