2013-09-29 1 views
1

мой ул экземпляра сконфигурированных сул. пропустить «путь» часть URI, если это уже предусмотрено в запросе

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? Или, возможно, возможно каким-то образом добавить определенный путь, который обрабатывает разные, например, некоторые исключения?

ответ

1

Я не знаю, возможно ли это сделать с помощью st напрямую, но вы просто можете добавить код для перезаписи URL-адреса, если он встречается в некоторых случаях.

рекламный код, как

var exceptions = { 
'wrong_path':'right_path' 
} 

function rewriteUrl(req){ 
    if(exceptions[req.url]){ 
    req.url = exceptions[req.url]; 
    } 
} 

, а затем вызвать эту функцию перед го методы вызывающей

http.createServer(function (req, res) { 
    rewriteUrl(req); 
    mount(req, res); 
}).listen(1234);