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的美化


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM