douquanhui5735 2016-02-12 17:28
浏览 78

正则表达式:获取一个可选参数,可能很简单

I wondered if it was possible to get an optional parameter from a regex. Here is the regex I tried :

rewrite ^/(m/)?string$ /page.php?p=$1

The parameter 'm/' is optional, but I would like that if this parameter exist, then p="m" and not the string "m/".

In other words :

/m/string  =>  /page.php?p=m
/string    =>  /page.php

Any idea ?

  • 写回答

1条回答 默认 最新

  • dongxiao9583 2016-02-12 17:40
    关注

    If you can't solve something by one regex.. Use two regexes!

    rewrite ^/m/string$ /page.php?p=$1 last;
    rewrite ^/string$ /page.php last;
    

    The last stops further matches of the original URL.

    评论

报告相同问题?