需要 nginx 正则表达式重写调试帮助

需要 nginx 正则表达式重写调试帮助

可能重复:
需要自定义 Nginx 正则表达式

期望的结果是这样的:

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;
}

我在这里做错了什么?

答案1

您根本不需要正则表达式。只需将其添加到现有的try_files

例子:

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

如果你还没有使用try_files, 然后尽快转换,同时使用如下命令:

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

(当我最初从 Apache 转换到 nginx 并希望像 Apache 那样/example加载URL 时,我从笔记中撕下了第二个示例。)/example.php

相关内容