我如何指示 nginx 将单个文件解释为 php

我如何指示 nginx 将单个文件解释为 php

旧版应用程序依赖于单个文件的以下 .htaccess 规则

<Files MyFile.html>
AddType application/x-httpd-php .html
</Files>

新机器安装了 nginx 和 php-fpm,配置如下:

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;

}

答案1

为您的 html 文件添加另一个位置块:

location = /path/to/MyFile.html {
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    include fastcgi_params;
}

答案2

重命名MyFile.htmlMyFile.php,并将以下内容添加到 级别的配置中server

rewrite ^/path/to/MyFile\.html$ /path/to/MyFile.php last;

这会在 nginx 中创建一个与.html版本匹配的内部重定向,并重定向到 PHP 脚本进行执行。然后,问题中的 PHP 处理块会处理该请求。

相关内容