重写未从匹配的网址运行

时间:2014-06-04 21:14:09

标签: regex nginx rewrite

我有以下重写:

rewrite ^([^/]+)/([^/]+)/(.+)$ /index.php?page=$1&action=$2&other=$3&ajax=0;

我认为这之前有用,但它不起作用。所以,我想要实现的是打破这个,例如:

/page1/action1/other1/other2/other3

然后我想将值设置为以下php $_GET变量:

page = page1
action = action1
other = other1/other2/other3

但它正在跳过重写并因某种原因转向另一个。我该怎么做才能使用重写?

1 个答案:

答案 0 :(得分:0)

我认为nginx包含REQUEST_URI中的前导/,因此您的模式不匹配。

使用rewrite ^/([^/]+)/([^/]+)/(.+)$ /index.php?page=$1&action=$2&other=$3&ajax=0;

尝试

(为了确保这没有任何影响,您可以将其设为可选:^/?([^/]+)/([^/]+)/(.+)$