当前位置:  开发笔记 > 编程语言 > 正文

Express奇怪地在url的末尾添加了斜杠

如何解决《Express奇怪地在url的末尾添加了斜杠》经验,为你挑选了1个好方法。

我正在使用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.



1> robertklep..:

我想我知道发生了什么:你也在使用express.static()中间件,在你的公共目录中你有一个名为的目录images/.

当您尝试请求与公共目录匹配的URL时,此中间件将生成以斜杠结尾的重定向(即使该目录为空或与其他路径匹配).

要禁用此行为,请将redirect选项设置为false.


@Emre表示你在提问时提供_all_信息; D.
推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有