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