我想配置http和https從舊站點重定向到新的。Nginx的https重定向 - 停止進一步的規則處理
根據重寫指令文檔:
如果替換字符串以http://則客戶端將 被重定向,任何進一步改寫指令被終止。
而我試圖達到與https無效的相同。 這是我的服務器配置:
listen 80;
listen 443 ssl;
server_name mydomain.com
rewrite ^/path/resource(.*)$ $scheme://newdomain.com/newpath/resource$1 permanent;
...
return 301 http://newdomain.com/newpath/;
使用HTTP我得到了我在尋找:如果我訪問mydomain.com/path/resource我重定向到newdomain.com/newpath/resource。
但是,與https一樣將我重定向到http://newdomain.com/newpath/。
我有rewrite_log在和在這兩種情況下重寫規則匹配,但https協議不會停止進一步的規則處理。
我有這樣的感覺,要麼我錯過了一些非常明顯的東西,要麼我沒有正確處理這個問題。如果它有效,我不會介意以任何不同的方式進行此操作。
有沒有關於如何使用https實現http重定向的任何想法?
我已經試過這一點,我總是重定向到http不管的原始網址是http或https。 – Paco
你能寫出你使用的新配置嗎? –
'server { listen 80; listen 443 ssl; ssl_certificate ... crt_file; ssl_certificate_key ... key_file; server_name mydomain.com www.mydomain.com; root ...; location〜/path/resource.php(.*){ return 301 $ scheme://newdomain.com/newpath/resource$1; }' – Paco