我创建了一个默认的CakePHP 2.4项目并创建了Nginx配置如下,但是我从Nginx错误日志中得到了这些错误。我做错了什么?
我的环境:
错误是:
$ 2014/06/14 09:39:22 [错误] 5952#0:* 1处理“/ backhaus”时重写或内部重定向循环,客户端:xxx.xxxx,服务器:azazel,请求:“GET / backhaus HTTP / 1.1“,主持人:”azazel“
以下是我../sites-available/default
的配置:
location /backhaus {
root /var/www/backhaus/app/webroot/;
index index.php;
rewrite ^/* /backhaus;
location ~ ^/(.+\.php)$ {
try_files $uri $uri/ =404;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
答案 0 :(得分:1)
您的错误是:
$ 2014/06/14 09:39:22 [错误] 5952#0:* 1重写或内部 处理“/ backhaus”时的重定向循环,客户端:xxx.x.x.xx, 服务器:azazel,请求:“GET / backhaus HTTP / 1.1”,主持人:“azazel”
错误明确指出:
...处理“/ backhaus”时的重定向循环......
现在,让我们来看看你发布的Nginx配置:
location /backhaus {
root /var/www/backhaus/app/webroot/;
index index.php;
rewrite ^/* /backhaus;
location ~ ^/(.+\.php)$ {
try_files $uri $uri/ =404;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
问题似乎是location
已/backhaus
,但您通过此行重定向到/backhaus
到/backhaus
的所有流量:
rewrite ^/* /backhaus;
所以我建议只删除rewrite
行。