nginx支持yaf的path_info配置
来源:互联网 发布:华讯网络奖金能拿多少 编辑:程序博客网 时间:2024/05/29 15:06
按照yaf手册上面的nginx rewrite配置完成后,如果是用的nginx+php-fpm模式,一般情况下是解析不了的,不是404就是Access denied的提示,要不就是访问其他的页面的时候,地址是对的,返回结果却是主页(index)的。
今天配置的时候就出了这个问题,查了大部分资料都是说把
location / { if (!-e $request_filename){ rewrite ^/(.*)$ /index.php/$1 last; }}
改成
location / { if (!-e $request_filename){ rewrite ^/(.*)$ /index.php?$1 last; }}
我觉得这样不太科学啊,既然是path_info这上面的问题,那估计就得在nginx配置上找原因了。
通过对正则的调整,还有转发的规则调整,总算是搞定了。
fastcgi_params配置得足够,各种该带的一个也不能少,尤其是path_info这块的。
下面是 server 的配置
server { listen 80; server_name nk.yaf.com; root /Users/xingkaroc/mywww/yaf; index index.html index.php; access_log logs/nkyafcom.access.log main; error_log logs/nkyafcom.error.log info; #if (-f $request_filename) { # break; #} location / { if (!-e $request_filename){ rewrite ^/(.*)$ /index.php/$1 last; } } location ~* \.php { fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_param HTTP_PROXY ""; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } }
fastcgi_params的配置
fastcgi_param QUERY_STRING $query_string;fastcgi_param REQUEST_METHOD $request_method;fastcgi_param CONTENT_TYPE $content_type;fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param PATH_INFO $fastcgi_path_info;fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param SCRIPT_NAME $fastcgi_script_name;fastcgi_param REQUEST_URI $request_uri;fastcgi_param DOCUMENT_URI $document_uri;fastcgi_param DOCUMENT_ROOT $document_root;fastcgi_param SERVER_PROTOCOL $server_protocol;fastcgi_param HTTPS $https if_not_empty;fastcgi_param GATEWAY_INTERFACE CGI/1.1;fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;fastcgi_param REMOTE_ADDR $remote_addr;fastcgi_param REMOTE_PORT $remote_port;fastcgi_param SERVER_ADDR $server_addr;fastcgi_param SERVER_PORT $server_port;fastcgi_param SERVER_NAME $server_name;# PHP only, required if PHP was built with --enable-force-cgi-redirectfastcgi_param REDIRECT_STATUS 200;
最后就是,PHP里面,php.ini需要开启 cgi.fix_pathinfo 这个参数
cgi.fix_pathinfo=1
按照这样配置,yaf就能正常使用了。
0 0
- nginx支持yaf的path_info配置
- 配置nginx支持PATH_INFO
- 配置nginx支持 PATH_INFO
- 让nginx支持PATH_INFO
- nginx支持path_info
- Nginx(PHP/fastcgi)的PATH_INFO配置
- Nginx(PHP/fastcgi)的PATH_INFO配置
- nginx配置path_info
- Nginx配置隐藏index.php和PATH_INFO支持
- Nginx配置隐藏index.php和PATH_INFO支持
- nginx下支持PATH_INFO详解
- nginx下支持PATH_INFO详解
- nginx下支持PATH_INFO详解
- Nginx中PATH_INFO(pathinfo)的完美配置方法
- nginx支持CI框架PATH_INFO模式
- 最新完美解决nginx支持thinkphp的PATH_INFO,URL格式的问题
- Nginx(PHP/fastcgi)的PATH_INFO问题
- yaf的nginx的rewrite
- U盘安装centos6.5
- ThreadLocal 多线程同步关键字
- HDU1011——Starship Troopers(树状dp)
- vs2013 中localdb 的使用(2)
- 台大机器学习基石作业编程题
- nginx支持yaf的path_info配置
- linux userdel
- 关于spring、pringmvc整合时注解扫描
- hdu1503 Advanced Fruits (LCS)
- db2数据插入错误SQL0000W
- 在GITHUB上快速搭建自己的博客
- MySql视图概念与实际应用
- MySql中SELECT常用语法结构解析
- HD--2647 Reward