1
我做在NGINX一些重寫清理在我的web應用程序的幾個網址。
我正在做的第一個重寫是用於處理分頁[例如, http://domain.com/p/2],第二個用於用戶配置文件區域[例如, http://domain.com/username]。
我使用的重寫如下:
rewrite ^/p/(.*)$ /index.php?p=$1; # paging rewrite from /p/<page_number>
rewrite ^/(.*)$ /user.php?user=$1; # user page rewrite from /<username>
問題
我有應該是很容易發現的問題。由於我使用/ p /和/用戶名,重寫不會區分這兩者,並最終將thinking/p/2作爲用戶頁面傳遞。
我知道我需要運行一個/ p /的檢查,並以不同於其他任何重寫的方式對待它,但在我的閱讀中,我已閱讀過IF語句,如果可能的話,由於潛在的意外結果,
問題
,這是將IF語句就可以使用,如果是的話你會看起來像要確保我檢查,對來自用戶的正常請求的情況下。如果有一種方法可以在沒有IF語句的情況下進行檢查,我希望能夠通過一些見解來實現這一點。
感謝任何幫助。
乾杯,
賈裏德
只是我需要的提示。對'last'和'break'做一些研究。乾杯。 – Jared 2012-04-04 05:34:52
'last'將執行到目標的內部重定向,而'break'將簡單地停止所有的重寫處理,將$ uri設置爲目標,然後進入下一個請求處理階段。 – kolbyjack 2012-04-04 13:30:47