在浏览器中调用“http://test.local/”会返回“403 Forbidden”错误。 调用“http://test.local/index.php”效果很好。
如果我创建“index.html”文件,则调用“http://test.local/”会正确显示“index.html”文件。
所以只是“index.php”文件不起作用。
这是我的虚拟主机配置:
server {
listen 80;
server_name test.local;
root /var/www/public;
index index.html index.htm index.php;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
error.log文件包含此错误:
2013/12/28 14:00:57 [error] 2854#0: *50 directory index of "/var/www/public/" is forbidden, client: 10.0.2.2, server: test.local, request: "GET / HTTP/1.1", host: "test.local"
为什么?我现在搜索了很多并检查了权限(这些都设置为777)并尝试了很多其他的东西,但我没有让它工作。
我是nginx的新手,所以我可能只是错过了一些东西。
非常感谢!
答案 0 :(得分:1)
您的配置似乎很好,但我认为可以简化,试试这个
server {
listen 80;
server_name test.local;
root /var/www/public;
index index.php;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
}