2014-05-13 46 views
0

我不確定是否把它放在Serverfault或Stackoverflow上;它似乎不是一個服務器問題,所以我在這裏會是最好的。Firefox「無法連接」沒有www?

我目前正在大學網站上工作,由於某種原因,Firefox拒絕加載該網站,除非您使用www(www.www.university.edu)。每個其他瀏覽器都接受university.edu,並且隨着nginx的設置,它只需重定向到www.university.edu即可。我的nginx的配置:

server { 
    listen 80; 
    server_name university.edu www; 
    rewritei ^http://www.university.edu$request_uri? permanent; 
} 
server { 
    listen 80; 
    server_name www.university.edu static.university.edu m.university.edu www.university.com; 
    . 
    . 
    . 
} 

那麼應該發生什麼,當一個請求到達,並www.university.edu,第二塊捕捉它,一切運行正常,但如果收到請求時,是university.edu第一個塊捕獲它並將其重定向到第二個塊。但由於某些原因,Firefox並沒有這樣做。

任何想法是什麼可能導致此問題?

更新1: rewritei沒有拼寫錯誤。大學的nginx在編譯之前已經改變了,以使正則表達式不區分大小寫,並被放在函數「rewritei」下。我在玩弄網站後發現,如果您先訪問www.university.edu網站,然後嘗試加載university.edu,但如果您清除了緩存並嘗試訪問university.edu,它將不會直到您訪問www.university.edu。

回答

0

你有一個錯字; 「重寫」並嘗試刪除www。

server { 
    listen 80; 
    server_name university.edu; 
    return 301 http://www.university.edu$request_uri; 
} 

而且看一看的陷阱上改寫 - http://wiki.nginx.org/Pitfalls#Taxing_Rewrites

+0

其實我用正則表達式不敏感重寫能力nginx的編譯,將其命名爲rewritei,這樣是正確的。其次,www是網站的校園快捷方式(所以在www中鍵入內容將帶您到www.university.edu),並且必須保持良好狀態。 至於「迴歸301 ...」,那可惜也沒有幫助。 –

+0

訪問是否在日誌中被捕獲?那麼Firefox HTTP響應頭呢?它顯示重定向還是無法連接? –

+0

訪問日誌無助於我在備份,清除和刷新瀏覽器頁面所需的幾秒鐘內,日誌有800個請求(這是一個繁忙的站點)。 至於Firefox的響應頭; FF發送GET請求到http://university.edu,但響應面板只是空白。 –