1

我的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,当然什么也找不到,因为我有不同的文件结构。

如果 URI 中已经存在,是否可以配置 st 或者添加一些自定义代码以跳过路径添加?或者也许有可能以某种方式添加处理不同的特定路径,比如一些排除?

4

1 回答 1

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);
于 2013-09-29T12:04:11.780 回答