2012-11-03 40 views
2

我正在開發一個backbone.js應用程序(僅供參考),我可以將請求提交到controller.php進行處理。我在REQUEST_METHOD上有一個switch語句,並且按照預期的方式與GET,POSTPUTDELETE一起工作。REST風格的應用程序.htaccess錯誤

然而,當我用下面的.htaccess文件:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^/?controller/([^/]+)$ /controller.php?id=$1 [L] 

...並傳遞給controller/5,而不是controller.php?id=5我得到一個405錯誤 - 方法不被允許。

我一直在挖掘Google並詢問同事並找不到解決方案。

回答

1

你的.htaccess的最後一行看起來不對。

如果你只有方法0到9這將是這樣的:

RewriteRule ^/controller/([0-9])$ /controller.php?id=$1 [NC,QSA,L] 

或一般:

RewriteRule ^/controller/(.*)$ /controller.php?id=$1 [NC,QSA,L] 

,並在控制器後,這種情況下,一切/將以價值傳遞($ 1)作爲id參數。

如果是工作,當你調用controller.php?id=5也應該在作爲controller/5

+0

的重寫規則被稱爲可在年底有什麼工作 - 我使用的ID作爲一個例子。 – Fluidbyte

相關問題