我的 st 实例配置了
var mount = st({
path: './app/',
url: '/', // defaults to path option
index: 'index.html',
cache: {
fd: none,
content: none
}
});
所以,当我向res/img/1.jpg
发送请求时,它会转到./app/res/img/1.jpg
这一点非常清楚。但是如果向app/res/img/1.jpg
发出一些请求,那么它会将此请求重定向到./app/app/res/img/1.jpg
,当然也找不到任何内容,因为我有不同的文件结构。
是否可以配置st或者添加一些自定义代码以跳过路径添加(如果它已经存在于URI中)?或者也许可以通过某种方式添加处理不同的特定路径,例如一些排除项?
答案 0 :(得分:1)
我不知道是否可以直接使用st执行此操作,但如果在某些情况下遇到,则只需添加代码即可重写URL。
广告代码
var exceptions = {
'wrong_path':'right_path'
}
function rewriteUrl(req){
if(exceptions[req.url]){
req.url = exceptions[req.url];
}
}
然后在st方法调用之前调用该函数
http.createServer(function (req, res) {
rewriteUrl(req);
mount(req, res);
}).listen(1234);