nginx(MAMP)在index.php上返回404

时间:2016-10-29 23:40:14

标签: php nginx http-status-code-404 mamp

我正在尝试在MAMP中使用nginx但由于某些原因我无法查看任何.php文件,它总是返回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;
        #}
    }
}

1 个答案:

答案 0 :(得分:1)

深度推荐我检查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/";