向前斜杠附加到页面加载上的URL结束



所以在我的网站上,我有几页内容。在其中一个页面上,即使我将浏览器指向example.com/guides,也将前向斜杠附加到我的地址栏上,从而使我与example.com/guides/一样。需要明确的是,此页面加载完美。当我将地址栏指向example.com/about时,它会像原样一样留下URL并加载页面。当我访问example.com/about/时,它会加载相同的页面,而前向斜线则是。这是我的服务器如何处理这些获取请求的代码:

app.get('/about', (req, res) => {
    res.sendFile(__dirname + '/views/about.html');
});
app.get('/guides', (req, res) => {
    res.sendFile(__dirname + '/views/guides.html');
});

您可以看到,两个HTML文件的渲染方式完全相同。我在两页中的任何一个上都没有JavaScript,也没有在任何一个页面上加载任何外部库。此指南页面是唯一具有此行为的页面。控制台或我的服务器日志中也没有错误。预先感谢您。

编辑:在我的开发人员控制台中检查网络页面后,它将返回301 Moved Permanently (from disk cache)的get请求状态代码。

默认情况下严格路由是禁用的,因此它处理/指南&/指南/一样,因此无论您参观过什么,每次都可以替代。因此,通过此

启用严格的路由
var router = express.Router({ strict: true });

现在它不会将它们视为相同,也不会更改/指南为/guides/.

最新更新