nginx 重写 .php 和 .html

nginx 重写 .php 和 .html

对带有(html、php)前缀和不带有前缀的工作文件有 2 条规则。

但只有第一条规则有效。如果第一条是 php,第二条带 html 前缀的显示未找到。

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

if (!-e $request_filename){
    rewrite ^/([^\.]+)$ /$1.html break;
}

如果我将它们与 html 交换。如何合并才能使两者同时工作。谢谢

答案1

也许你正在尝试重塑try_files有这些if条件吗?

在这种情况下,这应该有效:

try_files $uri $uri.php $uri.html;

相关内容