Servindo arquivos estáticos do iisnode com o URL Rewrite
Eu estou usando uma regra de reconfiguração no meu arquivo web.config para um aplicativo de nó em execução sob issnode para apontar para o meu arquivo server.js. myapp / * aponta para o server.js.
<code> <rule name="myapp" enabled="true"> <match url="myapp/*" /> <action type="Rewrite" url="server.js" /> </rule> </code>
Isso tem funcionado muito bem www.mywebsite.com/myapp/ iria carregar uma corrida meu aplicativo. O que eu queria era ter um redirecionamento a partir da raiz do site, então www.mywebsite.com/ executaria meu aplicativo. Então eu mudei meu arquivo web.config
<code> <rule name="myapp" enabled="true"> <match url="/*" /> <action type="Rewrite" url="server.js" /> </rule> </code>
Então isso está rodando o server.js e servindo um arquivo html estático, o único problema é referenciar qualquer arquivo externo do meu arquivo html (css, js, imagens etc). Basta pegar 500s para cada requisição. Eu estou usando isso para servir arquivos estáticos
<code> var libpath = require('path'); var _path = "."; <-- This seems to be the problem var uri = url.parse(req.url).pathname; var filename = libpath.join(_path, uri); fs.readFile(filename, "binary", function (err, file) { if (err) { res.writeHead(500, { "Content-Type": "text/plain" }); res.write(err + "\n"); res.end(); return; } var type = mime.lookup(filename); res.writeHead(200, { "Content-Type": type }); res.write(file, "binary"); res.end(); }); break; </code>
Então, minha pergunta é como apontar para a raiz do meu aplicativo / servidor do nó para servir arquivos estáticos.
obrigado
Jono