對(duì)于LNMP這樣架構(gòu)的網(wǎng)站來說,一般都是基于php框架開發(fā),php框架一般都會(huì)講究?jī)?yōu)雅鏈接,比如Laravel,CodeIgniter,ThinkPHP等都是支持這種鏈接模式的,在服務(wù)器配置上也叫作url重寫,目前框架大都采用單一入口的index.php然后基于MVC模式的話一般是/index.php/Model/function這種請(qǐng)求方式,所以如果能去掉index.php入口文件整個(gè)url就顯得簡(jiǎn)潔美觀,和Python、Java等開發(fā)的網(wǎng)站url模式統(tǒng)一,Apache和nginx都支持這種url的模式,下面說一下nginx配置的方式
首先進(jìn)入nginx的安裝目錄,上篇文章中說了在配置文件nginx.conf中,有server {}這樣的代碼段用來指定一個(gè)站點(diǎn)的配置,這下面有很多其他的配置,我們?cè)谂渲梦募蛘遡nclude的配置文件中對(duì)應(yīng)的server {}代碼段中添加如下代碼來實(shí)現(xiàn)url重寫:
location / {
try_files $uri $uri/ /index.php?$query_string;
}

如果原來location / {}這段代碼已經(jīng)存在的話,那么就直接在里面追加圖中那一行代碼即可,因?yàn)橥粋€(gè)路由的配置一般放到一塊;保存之后,重啟nginx服務(wù)器即可生效,如果nginx被添加到服務(wù)的話,可以使用/etc/init.d/nginx restart進(jìn)行重啟,重啟之后url就可以得到美化了
網(wǎng)上還有另外一種url重寫的方式,還是在同樣位置添加如下代碼來解決:
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
保存之后同樣重啟nginx生效,也可以實(shí)現(xiàn)url美化的效果,不過根據(jù)網(wǎng)上有些文章的說法,推薦第一種方式進(jìn)行url的美化
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。