2014-10-20 115 views
0

我嘗試了其他溢出的解決方案,但這些解決方案不適合我。沒有任何答案的文檔太多,所以在特定情況之外應用更加困難。重寫nginx索引到根

我已經有site.com重定向到www.site.com與

server { 
    listen 10.10.10.10; 
    server_name site.com; 
    rewrite/$scheme://www.$host$request_uri permanent;    
} 

而且我想添加一個site.com/index重定向到site.com。任何我能工作的東西都會變成一個循環。

編輯

基於defenestrate.me的回答和其他的信息,我拿起 -

通常的配置 -

location/{ 
     index index.html index.php; 
    } 

發送根的index.html等,所以如果index.html的重定向到根,這將重定向回到索引,所以需要一個if函數,就像在答案中一樣。

回答

1

我只是設法通過以下里面只是一個服務器節得到這個工作:

if ($request_uri = /index.php) { 
    return 301 $scheme://$host; 
} 

我不是nginx的過度精通,但我會盡力回答您的問題(有人請糾正我,如果我錯了)

你可能必須將它添加到後80和端口443部分爲它的工作,我不認爲將其添加到站點範圍的偵聽器將工作。

你需要保持索引index.html index.php;因爲它指定了如果沒有指定哪個默認文件(例如導航到文件夾)

+0

它因爲索引index.html index.php而循環; – Jon 2014-10-20 14:33:12

+0

非常奇怪,在我的測試中,這樣的索引集很好。以前使用重寫的所有方法都被刪除了嗎?你能發佈當前的配置,以便我們測試你正在使用的設置嗎? – 2014-10-20 14:53:30

+0

我沒有得到if語句,爲什麼它的關鍵。 index.php在網站上工作,但沒有索引。不太確定那裏發生了什麼事 – Jon 2014-10-22 07:42:23