2012-07-07 12 views
6

मैंने node.js और एक्सप्रेस में एक वेबसाइट लिखी है। अब मैं एक उप-निर्देशिका के साथ Node.js सर्वर का उपयोग करने के लिए कॉन्फ़िगर lighttpd:node.js/express में सापेक्ष पथ को कैसे संभालें?

app.get('/', function (req, res){ 
    res.render('index'); 
}); 

वहाँ के रूप में एक बेहतर तरीका है:

$HTTP["url"] =~ "^/app/" { 
    proxy.server = ("" => ((
           "host" => "127.0.0.1", 
           "port" => 3000 
          )) 
       ) 
} 

जब मैं http://localhost/app/ खोलने मैं त्रुटि 404 क्योंकि मैं कुछ इस तरह लिखा था इन पंक्तियों को संशोधित करना:

var relPath = '/app'; 

app.get(relPath + '/', function (req, res){ 
    res.render('index'); 
}); 

?

+5

'app.use ('/ app', app.router);' चाल चल सकता है। –

+0

वास्तव में यह चाल करता है, हालांकि मैं प्रॉक्सी के पीछे नहीं चल रहा हूं। – ebohlman

+0

प्रॉक्सी को तब तक कोई फर्क नहीं पड़ता जब तक वह पथ को बंद नहीं करता है। –

उत्तर

4

के रूप में रयान समाधान टिप्पणी की है:

app.use('/app', app.router); 

आप जैसे का उपयोग करते हैं express.static या आप पथ भी app.use बताने के लिए है express.favicon:

app.use('/app', express.favicon(__dirname + '/public/images/favicon.ico')); 
app.use('/app', express.static(__dirname + '/public')); 

आप अपने html में सेट प्रत्येक आंतरिक लिंक से पहले '/ ऐप' लिखने के लिए याद रखें।

+0

यह अब एक्सप्रेस 4.x में काम नहीं करता है – javiertoledos

संबंधित मुद्दे