我正在使用Node.js和Express框架来开发一个网站.我用网址面对奇怪的不端行为.当我点击相关链接网址时,网址变为"localhost:3000/images /" - 最后会添加一个斜线,如您所见.但是当我将所有'图像'更改为'img'或者url变为"localhost:3000/img"时没有添加斜杠.为什么路由器的行为如此?代码如下.(我正在使用Jade模板引擎)
//bar.jade li.nav-item a.nav-link(href='images') i.icon-camera | Images //end of bar.jade //images.js (router) var express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { res.render('images', { title: 'Express'}); }); module.exports = router; //end of router .js //app.js var images =require('./routes/images'); ........ ........ app.use('/images',images); //end of app.js
robertklep.. 7
我想我知道发生了什么:你也在使用express.static()
中间件,在你的公共目录中你有一个名为的目录images/
.
当您尝试请求与公共目录匹配的URL时,此中间件将生成以斜杠结尾的重定向(即使该目录为空或与其他路径匹配).
要禁用此行为,请将redirect
选项设置为false
.
我想我知道发生了什么:你也在使用express.static()
中间件,在你的公共目录中你有一个名为的目录images/
.
当您尝试请求与公共目录匹配的URL时,此中间件将生成以斜杠结尾的重定向(即使该目录为空或与其他路径匹配).
要禁用此行为,请将redirect
选项设置为false
.