1
許多PHP框架,建議把它添加到nginx的:
location/{
try_files $uri /index.php$is_args$args;
}
對所有HTTP請求執行index.php
。
爲什麼我需要$is_args$args
?我認爲$args
已經在HTTP GET請求中。那麼爲什麼nginx需要將它們以這種方式傳遞給index.php?
許多PHP框架,建議把它添加到nginx的:
location/{
try_files $uri /index.php$is_args$args;
}
對所有HTTP請求執行index.php
。
爲什麼我需要$is_args$args
?我認爲$args
已經在HTTP GET請求中。那麼爲什麼nginx需要將它們以這種方式傳遞給index.php?
這取決於是誰寫的index.php
。大量參數從nginx
發送到PHP,並且通常包括QUERY_STRING和REQUEST_URI。
如果程序員訪問$_SERVER["QUERY_STRING"]
他們會收到任何附加在try_files
聲明中末尾的/index.php
。
如果程序員訪問$_SERVER["REQUEST_URI"]
他們將與原有的查詢字符串一起接收原始的URI,以及任何附加的/index.php
在try_files
聲明到底會不會影響。
我主持的兩個應用程序(WordPress和MediaWiki)顯然使用後者,因爲我不會將$is_args$args
附加到/index.php
,它一切正常。
但是另一個應用程序可能會有不同的表現。