【发布时间】:2012-01-03 05:09:41
【问题描述】:
我有一个包含两个 RESTful URL 方案的网站:
foo.com/model/id 和
foo.com/model/id/action
这些 URL 提供的实际页面采用以下形式
$model.php?id=$id 和
$model_$action.php?id=$id。
我有一个正则表达式可以匹配^(\w+)s/([A-z0-9]+)(?:/(\w+))?/?$ 这两种情况,我想使用一个 Nginx 规则来重写这两种类型的 URL,但我不知道该怎么做。在伪代码中,我想规则看起来像这样
rewrite ^(\w+)s/([A-z0-9]+)(?:/(\w+))?/?$ /(($3) ? $1_$3.php?$id=$2 : $1.php?$id=2)
这不是有效的语法(据我所知),但这样的事情可以在 Nginx 中完成吗?
【问题讨论】: