nginx(MAMP) returns 404 index.php

nginx(MAMP) returns 404 on index.php

我正在尝试在 MAMP 中使用 nginx,但由于某些原因我无法查看任何 .php 文件,它总是 returns 404。

我对 .html 文件没问题。

有人知道是什么原因造成的吗?我该如何解决?

我的nginx.conf:

#user                         admin staff;
worker_processes             2;

pid        c:/MAMP/bin/nginx/pid/nginx.pid;

events {
    worker_connections       1024;
}

http {
    include                  mime.types;
    default_type             text/html;
    gzip                     on;
    gzip_types               text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;

    sendfile                 on;

    server {
        listen               80 default_server;

        # MAMP DOCUMENT_ROOT !! Don't remove this line !!
        root                 "C:/MAMP/htdocs/";

        access_log  c:/MAMP/logs/nginx_access.log;

        error_log  c:/MAMP/logs/nginx_error.log;

        location / {
            root C:\Git;
            index index.php index.html;
            autoindex on;
        }

        location ~* /MAMP(.*)$ {
            root             C:/MAMP/bin;
            index            index.php;

            location ~ \.php$ {
                try_files        $uri =404;
                fastcgi_pass     127.0.0.1:9100;
                fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include          fastcgi_params;
            }
        }

        location ~* /phpMyAdmin(.*)$ {
            root             C:/MAMP/bin;
            index            index.php;

            location ~ \.php$ {
                try_files        $uri =404;
                fastcgi_pass     127.0.0.1:9100;
                fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include          fastcgi_params;
            }
        }

        location ~* /phpLiteAdmin(.*)$ {
            root             C:/MAMP/bin;
            index            phpliteadmin.php index.php;

            location ~ \.php$ {
                try_files        $uri =404;
                fastcgi_pass     127.0.0.1:9100;
                fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include          fastcgi_params;
            }
        }

        location ~* /SQLiteManager(.*)$ {
            root             C:/MAMP/bin;
            index            index.php;

            location ~ \.php$ {
                try_files        $uri =404;
                fastcgi_pass     127.0.0.1:9100;
                fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include          fastcgi_params;
            }
        }

        #location /icons {
        #   alias /Applications/MAMP/Library/icons;
        #   autoindex on;
        #}

        #location /favicon.ico {
        #   alias /Applications/MAMP/bin/favicon.ico;
        #    # log_not_found off;
        #    # access_log off;
        #}

        location ~ \.php$ {
            try_files        $uri =404;
            fastcgi_pass     127.0.0.1:9100;
            fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include          fastcgi_params;
        }

        #location ~ /\. {
        #   deny all;
        #}

        # location ~* \.(gif|jpg|png|pdf)$ {
        #   expires          30d;
        # }

        # location = /robots.txt {
        #   allow all;
        #   log_not_found off;
        #   access_log off;
        # }

        # location ~* \.(txt|log)$ {
        #   allow 127.0.0.1;
        #   deny all;
        # }

        # location ~ \..*/.*\.php$ {
        #   return 403;
        # }

        #location /nginx_status {
        #   stub_status      on;
        #   access_log       off;
        #   allow            127.0.0.1;
        #   deny             all;
        #}
    }
}

Deep recommended 我检查了 nginx 日志,所以我做了,我发现了以下行:

[error] 14468#14504: *12 directory index of "C:/MAMP/htdocs/" is forbidden, client: 127.0.0.1, server: , request: "GET / HTTP/1.1", host: "localhost"

我记得我在 MAMP 本身中更改了 Document_Root,但在我的 nginx.conf

中从未这样做过

更改 nginx.conf 中的 Document_Root 后,.php 文件有效:)

我改成真实的行Document_Root:

# MAMP DOCUMENT_ROOT !! Don't remove this line !!
root                 "C:/MAMP/htdocs/";