如果你使用2级URL, Express会将URL的第一部分添加到注入中
Express adds first part of URL to injections if you use 2 level URLs?
我正在使用Node.js + Express。
当你有1级URL,如:
/estonia
所有的脚本和样式都是正确加载的,但如果你有一个2级URL,如:
/estonia/tallinn
脚本和样式注入失败,因为它将/estonia
添加到路径:
: http://localhost: 5050/js/config.js
后:http://localhost: 5050/爱沙尼亚/js/config.js
这是我的routes.js
文件:
app.get('*', function(req, res) {
var url = req.url.slice(1);
var urlParamsArray = url.split("/");
if ( countries[urlParamsArray[0]] && (urlParamsArray.length===1 || cities[urlParamsArray[1]]) ) {
res.sendFile(config.ROOT_PATH +'/'+ config.PUBLIC_PATH+'/index.html');
} else {
res.status(404).sendFile(config.ROOT_PATH + '/'+ config.PUBLIC_PATH+'/404.html');
}
});
这是我的express.js
文件:
app.set('view engine', 'ejs');
app.use(function (req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
next();
});
app.use(bodyParser());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(session({secret:config.EXPRESS_SESSION_SECRET}));
app.use(favicon(config.ROOT_PATH+'/public/favicon.ico'));
app.use(express.static(config.ROOT_PATH+"/"+config.PUBLIC_PATH));
我怎么能解决这个问题?
将<base href="/">
添加到模板的<head>
部分
相关文章:
- Regex提取URL返回数组的一部分;未定义”;
- 如何使用JavaScript提取此url的一部分
- 如何抓取URL的一部分并将其粘贴到页面上的某个位置
- 尝试在 jquery ajax 帖子中将变量设置为URL 的一部分
- 删除在单击其他选项卡时生成的url查询元素的一部分
- 如何使用 JavaScript 更改 URL 的一部分
- 如何使用 JavaScript 删除 URL 的一部分
- 有没有更好的方法来匹配 JavaScript 中 URL 路径名的一部分
- (Javascript)如何提取当前URL的最后一部分 - 没有文件扩展名
- 如何使用 jQuery 从 URL 中删除 URL 的一部分
- 仅获取当前URL的一部分并使用JavaScript重定向
- 使用 Javascript 获取当前 URL 的一部分
- 如何使用正则表达式或 jQuery 检索 URL 的最后一部分
- 在 Javascript 中获取 url 的最后一部分
- 如何使用文本表单输入的一部分来添加并使其转到 URL
- Yii2 中有什么方法可以在不重新加载的情况下动态更改 URL?来自 PJAX 的一部分
- 用于拆分 URL 和删除最后一部分的 JavaScript
- 将URL的一部分传递给AngularJS中的自定义筛选器
- 在AJAX中只检索远程URL的一部分
- 基于用户输入替换iFrame URL的一部分