2016-09-28 53 views
1

许多PHP框架,建议把它添加到nginx的:

location/{ 
    try_files $uri /index.php$is_args$args; 
} 

对所有HTTP请求执行index.php

为什么我需要$is_args$args我认为$args已经在HTTP GET请求中。那么为什么nginx需要将它们以这种方式传递给index.php?

回答

0

这取决于是谁写的index.php。大量参数从nginx发送到PHP,并且通常包括QUERY_STRING和REQUEST_URI。

如果程序员访问$_SERVER["QUERY_STRING"]他们会收到任何附加在try_files声明中末尾的/index.php

如果程序员访问$_SERVER["REQUEST_URI"]他们将与原有的查询字符串一起接收原始的URI,以及任何附加的/index.phptry_files声明到底会不会影响。

我主持的两个应用程序(WordPress和MediaWiki)显然使用后者,因为我不会将$is_args$args附加到/index.php,它一切正常。

但是另一个应用程序可能会有不同的表现。

相关问题