2013-04-25 74 views
1

我想將所有查詢重定向到我的網站https協議。 我的配置是:Nginx重寫無301代碼

server { 
    listen 80; 
    server_name addons.vkzvuk.ru; 
    server_name www.vkzvuk.ru; 
    server_name vkzvuk.ru; 
    rewrite^https://vkzvuk.ru$request_uri? permanent; } 

當我做捲曲請求捲曲vkzvuk.ru它返回的HTML:

<h1>301 Moved Permanently</h1> 

所以,很多的互聯網服務不能告訴我谷歌PR例如。

另一方面,「curling」twitter和facebook返回空結果。我如何調整nginx以獲得相同的行爲?

+0

嘗試通過「break」改變「permanent」cf http://wiki.nginx.org/HttpRewriteModule – Pixou 2013-04-26 16:18:45

回答

0

首先不要重寫。

server { 
    #listen 80 is default 
    server_name _; 
    return [HTTP_STATUS_CODE] https://$server_name$request_uri?; 
} 

用您希望發送的任何狀態碼替換[HTTP_STATUS_CODE]。但301重定向在這個地方是正確的,我會去做的。如果您使用return-方法如上所示nginx不應該返回任何內容,只有HTTP頭。