![Nginx:具有多个 URL 的重写规则](https://linux22.com/image/788801/Nginx%EF%BC%9A%E5%85%B7%E6%9C%89%E5%A4%9A%E4%B8%AA%20URL%20%E7%9A%84%E9%87%8D%E5%86%99%E8%A7%84%E5%88%99.png)
想要使用如下设置重写 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;
}