首页 > 解决方案 > nginx 404 未找到 php 文件

问题描述

我正在尝试在 Nginx 上设置 PHP。我的 Nginx 已经针对 Django 网站进行了配置。该子目录/wiki将运行 php 驱动的软件。

server {
    server_name = my_domain_name.com;

    # django stuff here

    location/wiki {
        alias /var/www/mediawiki;
        try_files $uri =404;
        index index.html index.htm index.php;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # i have verified that this does exist on my system
    }

    location ~ /\.ht {
        deny all;
    }

    # more django and certbot stuff

使用此配置,my_domain_name.com/wiki/index.html可以访问,但会my_domain_name.com/wiki/info.php产生 404 Not Found nginx 页面。然而,他们都居住在/var/www/mediawiki. 我的配置有什么问题?

标签: phpubuntunginx

解决方案


根据Richard Smith参考资料,我发现我需要包含一个嵌套位置 php 标记:

location/wiki {
    alias /var/www/mediawiki;
    try_files $uri =404;
    index index.html index.htm index.php;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }
}

现在提供和 php 文件。


推荐阅读