我正在使用快递路由,如:
exporting: {
buttons: {
contextButton: {
menuItems: Highcharts.defaultOptions.exporting.buttons.contextButton.menuItems.concat([{
text: 'custom-text',
onclick: function() {
// custom callback
}
}])
}
}
},
我正在渲染一个EJS模板文件,其中包含CSS链接和URL
相对于此。
所以你可能会在test.ejs模板中看到这样的东西:
router.get('/test', function(req, res, next) {
if (user logged in)
res.render('test');
else res.redirect('login')
我遇到的问题是此路由处理程序接受类似
的URL/ test和/ test / - 第二个URL导致我的相对URL形成不正确的绝对URL。 因此,如果我的应用程序中的URL(使用Apache部署到生产转发到myapp时)是:
<link href = "../stylesheets/bootstrap.min.css" rel = "stylesheet">
<a href="blee">blee</a>
我希望在
找到CSSexample.com/myapp/test
和
处的blee URLexample.com/myapp/stylesheets/bootstrap.min.css
,重定向应该转到
example.com/myapp/blee
只要进入处理程序的URL是/ test
,这就有效但是,如果它是/ test /,则处理程序接受它但是形成的相对URL都是不正确的。
我的开发环境与我的部署环境不同,因此我无法将完整的URL编码为事物,因为它在/ test之前的路径较长。相对URL只是更有意义。
只要我的应用没有创建它,我就被告知不要担心URL / test /进来。但有时候用户会在位置框中输入一些内容,如果他们输入了这个内容,它会陷入此处理程序并生成一个损坏的页面。