0

这是我的 nginx 重写规则:

重写 ^/([az]+)/([az]+)/$ /index.php?app=$1&action=$2;

访问 /test/test/ 它可以工作,但访问 /test/ 它不会重写为 /index.php?app=test&action=

和 var_dump($_GET) 打印:array(1) { ["q"]=> string(6) "/test/" }

但是 $_GET['q'] 没有定义,为什么?

4

1 回答 1

0

因为它与规则不匹配,所以您的规则仅在只有一个应用 AND 操作时才有效,您可以编写另一个规则以在缺少操作时匹配,或者指定第二部分是可选的,改为尝试此规则

rewrite ^/([a-z]+)/([a-z]+)? /index.php?app=$1&action=$2;
于 2013-07-04T07:53:13.050 回答