我有一個曾經用PHP編寫的網站,我用Rails重新編寫過。它本質上是一個由帖子組成的博客平臺。我仍然使用舊的URL方案收到來自Google的請求。他們正在渲染索引頁面,但他們應該顯示引用的特定帖子。例如:在nginx中重寫RoR的PHP參數
http://domain.com/posts?page=5&postID=6433(呈現索引,第5頁)
應該是:
http://domain.com/posts/6433(展後6433)
頁面參數可以被丟棄,它被用於評論分頁和不再需要。這兩個參數都以params [:page]和params [:postID]的形式傳遞給Rails,並轉到posts控制器中的index動作。我想可以在控制器中添加一些邏輯(如果postID存在,然後顯示正確的帖子),但我認爲正確的方法是使用nginx重寫來重新構造url,目前我正在使用:
rewrite "^/posts\?page=(.*)&postID=(.*)$" /posts/$2 break;
它似乎沒有任何影響傳遞的URL。
我正在尋求幫助,使正確的重寫URL或RoR路由將工作。
謝謝,我應該知道,我想我試過逃避?之前。我正在使用你現在寫的命令,並得到相同的結果。重寫命令是否需要包含在某個位置或塊是否可能? – ahab 2013-02-10 21:36:27