如何指定处理任何URL的处理程序?

时间:2009-09-27 06:58:58

标签: apache url rest lighttpd

我正在建立一个REST架构的网站,我发现后者很难做到。 我希望能够像这样处理HTTP请求:

GET / myapp / 5445 / HTTP / 1.1 ...

在一个理想的世界中,我会编写自己的服务器并自己处理所有的HTTP请求,但实际上我想用CGI或PHP来完成这个项目,我希望能够将这些HTTP请求映射到一个程序来决定是否有效请求。

使用REST架构,GET / myapp / 5445 /可能意味着“给我资源#5445。 PUT / myapp / 5445 /可能意味着“创建资源#5445”。

此URL问题是阻止我发布杀手级应用的唯一因素! :)也许不是,谢谢你

我目前正在使用lighttpd和CGI。如果我能有Apache解决方案,我很乐意转换。

顺便说一句,这个网站似乎有办法处理这些不存在的URL而不调用错误404处理程序 http://pastebay.com/57208

1 个答案:

答案 0 :(得分:3)

使用apache,您可以设置.htaccess文件以将所有请求转发到单个控制器脚本:

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ controller.php [QSA,L]

在controller.php中,您可以使用URL执行任何操作。