nginx、TP框架实现兼容pathinfo和rewrite两种url访问方式

nginx、TP框架实现兼容pathinfo和rewrite两种url访问方式

https://blog.csdn.net/jo_andy/article/details/52598097

环境:centos7,yum安装的nginx1.10、php-fpm,tp3.2
本方法只需要配置nginx.conf的一个文件就可以支持pathinfo和rewrite两种url访问方式

vim /etc/nginx/nginx.conf

 

1、支持rewrite方式:
location / 处添加以下代码

if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=$1  last;
    break;
}

 

最终变成

 

location / {
            root   html/code;
            index  index.php index.html index.htm;
            if (!-e $request_filename) {
                rewrite  ^(.*)$  /index.php?s=$1  last;
                break;
            }
        }

 

2.实现pathinfo模式
找到有效的 location ~ .php$那部分
首先,将这个$去掉,
然后里面添加以下两行代码

fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;

 

最终变成

location ~ \.php {
            root           html/code;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info ^(.+\.php)(.*)$;
            fastcgi_param PATH_INFO $fastcgi_path_info;         
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

 

3.重启nginx和php-fpm即可使用了

service nginx restart
service php-fpm restart

 

 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/113483.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 显卡三重缓冲

    显卡三重缓冲显卡三重缓冲是解决显示器刷新率不足的问题的方案。

  • java被电脑阻止怎么办_win10系统打开java显示应用程序已安全设置被阻止的处理方法…

    java被电脑阻止怎么办_win10系统打开java显示应用程序已安全设置被阻止的处理方法…有关win10系统打开java显示应用程序已安全设置被阻止的操作方法想必大家有所耳闻。但是能够对win10系统打开java显示应用程序已安全设置被阻止进行实际操作的人却不多。其实解决win10系统打开java显示应用程序已安全设置被阻止的问题也不是难事,小编这里提示两点:1、点击:开始-控制面板,选择查看方式为:大图标或小图标;2、双击java,选择“安全”,把“安全级别”降至“中”,点击“确定…

  • php小程序接口开发_php的api调用方法

    php小程序接口开发_php的api调用方法微信小程序调用PHP后台接口,解析纯html文本,效果图片预览1、微信js动态传参:wx.request({url:’https://m.****.com/index.php/Home/Xiaoxxf/activity_detail?a_id=’+options.id,//含富文本htmldata:{is_detail:1},method:’GET’,//OPTIONS,GET,HE…

  • pycharm远程调试python_pycharm怎么运行一个项目文件

    pycharm远程调试python_pycharm怎么运行一个项目文件pycharm远程开发项目的实现步骤你是不是在学习python的时候在使用虚拟机系统进行开发,来回切换很是不方便,那么今天给大家推荐一个pycharm强大的功能。接下来我们利用这个django项目创建一个子app,测验一下是否真的能如此操作python@ubuntu:~/Desktop/Remote_Django$pythonmanage.pystartappusers很完美!,接下来告诉…

  • sudoers修改_sudoers配置使用

    sudoers修改_sudoers配置使用sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等。这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性。Sudo不是对shell的一个代替,它是面向每个命令的。它的特性主要有这样几点:§sudo能够限制用户只在某台主机上运行某些命令。§sudo提供了丰富的日志,详细地记录了每个…

  • SQL通配符

    SQL通配符通常我们只是用%作为通配符,用来表示任意个字符。但sql中的通配符还有下划线_,用来标识任意一个字符实例SELECT*FROMWebsitesWHEREnameLIKE&#

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号