繁体   English   中英

php和PHP_SELF的位置

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM