RESTful Application .htaccess错误

时间:2012-11-03 12:44:34

标签: apache .htaccess rest httprequest

我正在开发一个backbone.js应用程序(仅供参考),我可以向controller.php提交请求以进行处理。我在REQUEST_METHOD上有一个switch语句,它与GETPOSTPUTDELETE一样正常工作。

但是,当我使用以下.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错误 - 不允许使用该方法。

我一直在挖掘谷歌并询问同事,但找不到解决方案。

1 个答案:

答案 0 :(得分:1)

.htaccess的最后一行看起来不对。

如果您只有方法0到9,那么它将是:

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

或一般情况下:

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

在这种情况下,控制器/之后的所有内容都将作为id参数的值($ 1)传递。

如果它在您致电controller.php?id=5时有效,则在调用controller/5

时也应该有效
相关问题