2016-09-28 52 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,它一切正常。

但是另一個應用程序可能會有不同的表現。

相關問題