nginx php跳转url参数,NGINX 中把url中的内容当初参数处理
作用:把url為:127.0.0.1/index.php/a/b/c?這樣處理
把?post參數:?/a/b/c到127.0.0.1/index.php
nginx?配置如下:
server?{
listen??80;
server_name?????127.0.0.1;
root?/home/shaddock/Applications/htdocs;
index?index.html?index.htm?index.php?index.js;
access_log?logs/access.log;
error_log?logs/error.log;
error_page?404??/404.html;
location?/404.html?{
root?/home/shaddock/Applications/htdocs;
}
location?/dmp5.0{
index?index.html?index.htm?index.php;
if?(-e?$request_filename)?{
break;
}
if?(!-e?$request_filename)?{
rewrite?^/dmp5.0/(.*)$?/dmp5.0/index.php/$1?last;
break;
}
}
location?~?.+\.php($|/)?{
root/home/shaddock/Applications/htdocs;
fastcgi_index?index.php;
fastcgi_split_path_info?^(.+\.php)(.*)$;
fastcgi_param???SCRIPT_FILENAME?$document_root$fastcgi_script_name;
fastcgi_param???PATH_INFO???????????????$fastcgi_path_info;
fastcgi_param???PATH_TRANSLATED?$document_root$fastcgi_path_info;
fastcgi_pass???127.0.0.1:9000;
include????????fastcgi_params;
}
}
錯誤:
2017/01/09?10:48:58?[error]?5103#0:?*57?open()?"/home/shaddock/Applications/htdocs/dmp5.0/index.php/index/index/ajaxLogin"?failed?(20:?Not?a?directory),?client:?127.0.0.1,?server:?127.0.0.1,?request:?"POST?/dmp5.0/index/index/ajaxLogin?HTTP/1.1",?host:?"127.0.0.1",?referrer:?"http://127.0.0.1/dmp5.0/"
上面的錯誤是因為rewrite的時候直接把url?http://127.0.0.1/dmp5.0/index.php/index/index/ajaxLogin當成頁面處理了。本意應該是
http://127.0.0.1/dmp5.0/index.php/index/index/ajaxLogin這個url把這些單詞參數,傳給http://127.0.0.1/dmp5.0/index.php
解決:
php中php.ini中下面參數打開
cgi.fix_pathinfo=1
總結
以上是生活随笔為你收集整理的nginx php跳转url参数,NGINX 中把url中的内容当初参数处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php中register_global,
- 下一篇: php cms word导入,phpcm