zoukankan      html  css  js  c++  java
  • nginx服务器设置url的优雅链接

      对于LNMP这样架构的网站来说,一般都是基于php框架开发,php框架一般都会讲究优雅链接,比如Laravel,CodeIgniter,ThinkPHP等都是支持这种链接模式的,在服务器配置上也叫作url重写,目前框架大都采用单一入口的index.php然后基于MVC模式的话一般是/index.php/Model/function这种请求方式,所以如果能去掉index.php入口文件整个url就显得简洁美观,和Python、Java等开发的网站url模式统一,Apache和nginx都支持这种url的模式,下面说一下nginx配置的方式

      首先进入nginx的安装目录,上篇文章中说了在配置文件nginx.conf中,有server {}这样的代码段用来指定一个站点的配置,这下面有很多其他的配置,我们在配置文件或者include的配置文件中对应的server {}代码段中添加如下代码来实现url重写:

        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }

      

      如果原来location / {}这段代码已经存在的话,那么就直接在里面追加图中那一行代码即可,因为同一个路由的配置一般放到一块;保存之后,重启nginx服务器即可生效,如果nginx被添加到服务的话,可以使用 /etc/init.d/nginx restart 进行重启,重启之后url就可以得到美化了

      网上还有另外一种url重写的方式,还是在同样位置添加如下代码来解决:

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

      保存之后同样重启nginx生效,也可以实现url美化的效果,不过根据网上有些文章的说法,推荐第一种方式进行url的美化

  • 相关阅读:
    $this是什么意思-成员变量和局部变量的调用
    神经网络 ML08 c-d-e
    机器学习笔记 ML01c
    虚函数
    C++有哪几种情况只能用初始化列表,而不能用赋值?
    C++ 的 I/O
    引用
    宏定义 #define 和常量 const 的区别
    怎么设置才能让外网ip可以访问mysql数据库[转]
    大师的框架面试总结[转]
  • 原文地址:https://www.cnblogs.com/freeweb/p/5261698.html
Copyright © 2011-2022 走看看