0

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

获取 /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

4

1 回答 1

3

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

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

在 controller.php 中,您可以对 URL 做任何您想做的事情。

于 2009-09-27T07:09:42.497 回答