需要nginx regex重写debugging帮助

可能重复:
需要自定义Nginx的正则expression式

期望的结果是这样的:

http://www.example.com/about/?r=something 

对此:

 http://www.example.com/about.php/?r=something 

这是我得到的,但它不工作:

 if (!-e $request_filename) { rewrite ^/([^?]*[^?/])/?(\?.*)?$ /$1.php/$2 last; break; } 

我在这里做错了什么?

你根本不需要一个正则expression式。 只需将其添加到您现有的try_files

例:

 try_files $uri.php $uri $uri/ @404; 

如果你还没有使用try_files ,那么很快转换 ,同时使用这样的东西:

 if (-e $request_filename.php) { rewrite ^(.+)$ $1.php last; } 

(我从我最初从Apache转换到nginx的时候, 把笔记里的第二个例子从我的笔记中剥离出来,并且希望像Apache那样有一个URL /example加载/example.php 。)