[英]location with php and PHP_SELF
如何在nginx中设置SCRIPT_FILENAME
指向当前请求文件的位置?
server {
listen 80;
server_name xx.xx.xx.xx;
location /test {
root /var/www/test;
}
location ~ \.php$ {
include /var/ini/nginx/fastcgi.conf;
fastcgi_pass php;
fastcgi_param SCRIPT_FILENAME /var/www/test$fastcgi_script_name;
}
}
在这里我File not found
但是如果我将位置更改为此
fastcgi_param SCRIPT_FILENAME /var/www/test/index.php;
我究竟做错了什么?
您需要设置fastcgi_index
选项,并使用index.php
作为其值。 该索引指令在文件系统中查找索引文件。 因此,尝试像:
location ~ \.php$ {
include /var/ini/nginx/fastcgi.conf;
fastcgi_pass php;
fastcgi_index index.php; #add this
fastcgi_param SCRIPT_FILENAME /var/www/test$fastcgi_script_name;
}
索引看到/data/www/test/index.php并进行内部重定向到/index.php,因此请求转到location ~ \\.php$
,并传递给fastcgi。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.