2014-08-30 32 views
0

當我運行一個新的node.js應用程序(調用這個應用程序2)時,發生了一些奇怪的事情(閱讀:我不明白的東西):我嘗試過在一天之前我一直在處理其他應用程序(app1)之後運行應用程序2。對於之前的應用程序,我在代碼中有一些自動將localhost:3000重定向到特定站點的內容。儘管如此,我在一天之前停止了運行該應用程序。localhost:3000在切換node.js應用程序時不會改變

當我嘗試運行也使用localhost的端口3000的新app2時,它仍然會自動重定向,即使之前明確重定向的應用程序未運行。

app1正在使用express.js。 app2不是。如果有人認爲任何特定的代碼可以幫助,我會很樂意提供,但我不知道在哪裏看,因爲它似乎我有標準的代碼,只是重定向localhost:3000,並有代碼重定向一些其他通用站點。 facebook.com被編輯在我的主機文件中去我的本地主機IP地址。 下面是它的一些:

app.get('*',function(req,res){ 
    console.log(req.get('host')+req.originalUrl); 
    if(req.get('host')+req.originalUrl == "facebook.com:3000/"){ 
     res.redirect(301,'https://github.com'); 
    } 
    else{ 
     res.redirect(301,'https://google'); 
    } 
}); 

...

app.listen(app.get('port'), function() { 
    console.log("✔ Express server listening on port %d in %s mode", app.get('port'), app.settings.env); 
}); 

所以運行新的應用程序時,我被嚇壞了,爲什麼它仍然會重定向。

此外,本地主機:3000只工作了我新的應用程序,當我在新的應用程序改變代碼重定向到4000端口,然後改回了3000後,與4000

工作。如果任何人有任何想法爲什麼這樣,請讓我知道!

謝謝。

+0

你用什麼來運行應用程序?我知道這個問題存在於nodeclipse(eclipse的節點插件) – 2014-08-30 03:23:58

回答

1

你正在做301重定向。這是一個永久重定向。瀏覽器,代理和其他任何東西都可以無限期地緩存。

考慮302或307.

+0

非常感謝。我花了很多時間來解決這個問題,所以我很高興發現爲什麼會發生這種情況。再次感謝。 – vvayne 2014-08-30 16:58:59

相關問題