Hi,<div><br></div><div>When I try to use rewrite to replace try_files, my php application report error. Finally I find $_SERVER["PATH_INFO"] is different between try_files and rewrite.</div><div><br></div><div>nginx/1.4.4</div>
<div>PHP 5.4.22</div><div><br></div><div>try_files:</div><div><br></div><div><div>        try_files $uri $uri/ /index.php$request_uri;</div></div><div><br></div><div>url: <a href="http://example.com/a/b/c?d=1">http://example.com/a/b/c?d=1</a> , $_SERVER["PATH_INFO"] is /a/b/c</div>
<div><br></div><div>but, when I use rewrite:</div><div><br></div><div><div>        if ( $host = "<a href="http://example.com">example.com</a>" ) {</div><div>                set $example 1$example;</div><div>        }</div>
<div>        if ( $uri !~ \.(ico|gif|png|jpeg|css|js|xml|html|shtml|swf|mp3) ) {</div><div>                set $example 11$example;</div><div>        }</div><div>        if ( $example = 111 ) {</div><div>                rewrite ^ /index.php$request_uri last;</div>
<div>        }</div></div><div><br></div><div>url: <a href="http://example.com/a/b/c?d=1">http://example.com/a/b/c?d=1</a> , $_SERVER["PATH_INFO"] is /a/b/c?d=1</div><div><br></div><div>Obviously try_files is right , I can use $uri in rewrite to solve this problem.</div>
<div>My question is why $request_uri in try_files and rewrite but get different $_SERVER["PATH_INFO"] ?</div><div><br></div><div>thanks!</div><div><br></div>