我在想如何爲nginx編寫正確的重寫,因爲它每次都會失敗。NGINX動態URL的重寫規則
我有一個頁面,可以訪問沒有任何動作(http://foo.bar/praemienshop/)或在url中的參數,然後觸發一個動作(http://foo.bar/praemienshop/1)。該參數應始終爲數字。如果可能的話,如果沒有給出參數,結束斜線應該是可選的。 這是我tryed:
location /praemienshop {
rewrite ^/praemienshop(|/)([0-9]+/.*?)?$ /index.php?url=praemienshop&item=$1;
}
蔭能開foo.bar/praemienshop但每次我打開foo.bar/praemienshop/3(或任何其他數值),它只是拋出沒有找到404。
我既不擅長編寫正則表達式,也不完全瞭解在nginx中如何重寫。我曾在IIS中工作,但將它導入nginx很難。
感謝您的任何幫助。
'$ 1'是第一個捕獲'(| /)' - 你應該嘗試'$ 2'。 –
感謝您的幫助理查德。但是這不能解決它。如果我添加一個數字,它仍會拋出一個404(例如:foo.bar/praemienshop/3) –