nginx中的PHP前端控制器

时间:2012-07-28 01:40:28

标签: php regex nginx fastcgi front-controller

我有一个wiki,用于托管用户生成的内容,其中包含/wiki/view/pagename/wiki/modify/pagename等网址。我正在使用类似于:

的nginx配置
location /wiki/ {
    try_files $uri $uri/ /wiki/index.php?q=$uri&$args;
}
location ~ \.php$ {
    try_files $uri =404;
    #fastcgi stuff...
}

它一直很好用,据我所知,这是推荐的方法。但是,今天,用户创建了一个名为“whatever.php”的页面,因此需要将URL /wiki/view/whatever.php重定向到我的/wiki/index.php ...但它会被捕获到第二个位置块并返回404是用户代理。

有没有人有任何建议?我可以添加一个额外的位置块,以某种方式将* .php重写到主脚本,这样不会影响实际的路由页面吗?我仍然希望使用nginx在/wiki/目录中提供静态内容,并保留此目录之外的所有内容的行为。

重新发布this死论坛帖子

0 个答案:

没有答案