我有一个wiki,用于托管用户生成的内容,其中包含/wiki/view/pagename
和/wiki/modify/pagename
等网址。我正在使用类似于:
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死论坛帖子