Nginx:具有多个 URL 的重写规则

Nginx:具有多个 URL 的重写规则

想要使用如下设置重写 nginxwww.example.com/abc/xyz/test/

重定向至www.example.com/abc/xyz/test.php因此,我想制定一个适用于所有具有该网址的页面的重写规则,所以我尝试了这个,它有效

 location ~* /abc/xyz/.*/$
        {
            rewrite ^/abc/xyz/.*/$  /abc/xyz/test.php last;
        }

此规则有效,但它总是重定向到 test.php 想要使其动态化,以便它也适用于 test2.php test3.php 当在 url 中时它会像www.example.com/abc/xyz/test2/等等,因为我们有 100 页,所以如果找不到解决方案,我需要编写 100 条规则。任何帮助都将不胜感激。

答案1

try_files应该足够了。

location / {
    try_files $uri $uri.php;
}

相关内容