У меня есть сайт с двумя схемами URL RESTful:
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?