zoukankan      html  css  js  c++  java
  • lnmp1.2支持ThinkPhp pathinfo及rewrite

    一、pathinfo支持方法

      1.2版本系统已经自动生成了一个pathinfo的配置文件,但实测不可用,所以我们先找打这个文件并修改其内容,文件路径为:/usr/local/nginx/pathinfo.conf,将内容修改如下:

    set $path_info "";
    
    #定义变量 $real_script_name,用于存放真实地址
    set $real_script_name $fastcgi_script_name;
    #如果地址与引号内的正则表达式匹配
    if ($fastcgi_script_name ~ "^(.+?.php)(/.+)$") {
    #将文件地址赋值给变量 $real_script_name
    set $real_script_name $1;
    #将文件地址后的参数赋值给变量 $path_info
    set $path_info $2;
    }
    #配置fastcgi的一些参数
    fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
    fastcgi_param SCRIPT_NAME $real_script_name;
    fastcgi_param PATH_INFO $path_info;
    

    然后找到自己要支持pathinfo网站的配置文件,文件路径为:/user/local/nginx/vhost/**.conf,在文件中找到“#include pathinfo.conf;”这一行,将#去掉。

    重启 nginx,命令为:/etc/init.d/nginx restart,重启成功之后即可使用pathinfo方式访问网站。

    二、添加rewrite支持方法

      找到要支持网站的配置文件,文件路径为:/user/local/nginx/vhost/**.conf,如果在创建主机时已经设置过重写配置文件,则直接修改之前选择的配置文件,没有的话,可以新建一个other.conf重写配置文件,以后其他网站也可直接使用。

         在配置文件中找到"root /home/wwwroot/你的网站根目录",这一句代码,然后在下面加一句“include other.conf;”。

         返回nginx的配置目录“/usr/local/nginx/conf/”,如果这里已经存在other.conf则直接覆盖里面的内容,不存在则新建。

         other.conf中的内容如下:

    location / {
            if (!-e $request_filename) {
                    rewrite ^(.*)$ /index.php/$1;
             }
     }
    

      重启nginx,"/etc/init.d/nginx restart",重新访问网站就可以省略index.php了。

     

  • 相关阅读:
    import 本地Python module或package
    JSON+YAML初步学习+ciscoconfparse
    Ansible用于网络设备管理 part 4 使用NAPALM成品库+Gabriele的方法+循环
    Community Value再理解
    职业素养-8S
    JavaWeb项目的数据库访问简单基础类
    FastJson+Servlet实现Ajax案例
    Echarts和JSTL、EL标签的混合使用
    大数据典型应用场景
    Web前端开发与设计13-购物车案例
  • 原文地址:https://www.cnblogs.com/wurijie/p/5144318.html
Copyright © 2011-2022 走看看