我正在尝试在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;
#}
}
}
答案 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/";