国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > Nginx > 正文

Nginx服務(wù)器下使用rewrite重寫url以實現(xiàn)偽靜態(tài)的示例

2024-08-30 12:21:40
字體:
供稿:網(wǎng)友
這篇文章主要介紹了Nginx服務(wù)器下使用rewrite重寫url以實現(xiàn)偽靜態(tài)的示例,這里舉了Discuz!和WordPress這兩個常用的PHP程序,需要的朋友可以參考下

經(jīng)過網(wǎng)上查閱和測試,發(fā)現(xiàn)Nginx的Rewrite規(guī)則和Apache的Rewite規(guī)則差別不是很大,幾乎可以直接使用。比如在Apache中這樣寫規(guī)則

rewrite ^/([0-9]{5}).html$ /viewthread.php?tid=$1 last;

而在Nginx中寫成這樣寫是無法啟動的,解決的辦法是加上兩個雙引號:

rewrite "^/([0-9]{5}).html$" /viewthread.php?tid=$1 last;

同時將RewriteRule為Rewrite,基本就實現(xiàn)了Nginx的Rewrite規(guī)則到Apache的Rewite規(guī)則的轉(zhuǎn)換。

Rewrite的Flags

last - 基本上都用這個Flag。 break - 中止Rewirte,不在繼續(xù)匹配 redirect - 返回臨時重定向的HTTP狀態(tài)302 permanent - 返回永久重定向的HTTP狀態(tài)301

WordPress的Rewrite
其實在Nginx下配置WordPress的Rewrite還是比較簡單的,在location /{..................}里面加入

if (!-f $request_filename){rewrite (.*) /index.php;}

即可實現(xiàn)。

下面是一個完整的vhost的配置文件

server {listen 80;server_name ccvita.com www.ccvita.com;location / {    index index.html index.htm index.php;    root /www/wwwroot/ccvita.com;    if (-f $request_filename/index.html){        rewrite (.*) $1/index.html break;    }    if (-f $request_filename/index.php){        rewrite (.*) $1/index.php;    }    if (!-f $request_filename){        rewrite (.*) /index.php;    }}location ~ /.php$ {    include fastcgi_params;    fastcgi_index index.php;    fastcgi_pass 127.0.0.1:8787;    fastcgi_param SCRIPT_FILENAME /www/wwwroot/ccvita.com$fastcgi_script_name;    }location /ccvita-status {    stub_status on;    access_log off;    }}

Discuz!的Rewrite
下面的Rewrite中百分號前面多了個轉(zhuǎn)移字符“/”,這在Apache中是需要的,而在Nginx中則是不需要的。

rewrite ^/thread-([0-9]+)-([0-9]+)-([0-9]+)/.html$ /viewthread.php?tid=$1&extra=page/%3D$3&page=$2 last;

正確的應(yīng)該是

rewrite ^/thread-([0-9]+)-([0-9]+)-([0-9]+)/.html$ /viewthread.php?tid=$1&extra=page%3D$3&page=$2 last;

這個錯誤在基本上目前所有使用Nginx作為服務(wù)器,并且開啟了Rewrite的網(wǎng)站上存在。包括Discuz!官方,目前已經(jīng)給cnteacher反饋了。
Nginx實例代碼

server {  listen    80;  server_name www.ccvita.com ccvita.com;  location / {     index      index.html index.htm index.php;     root      /www/www.ccvita.com;     rewrite ^(.*)/archiver/((fid|tid)-[/w/-]+/.html)$ $1/archiver/index.php?$2 last;     rewrite ^(.*)/forum-([0-9]+)-([0-9]+)/.html$ $1/forumdisplay.php?fid=$2&page=$3 last;     rewrite ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)/.html$ $1/viewthread.php?tid=$2&extra=page%3D$4&page=$3 last;     rewrite ^(.*)/profile-(username|uid)-(.+)/.html$ $1/viewpro.php?$2=$3 last;     rewrite ^(.*)/space-(username|uid)-(.+)/.html$ $1/space.php?$2=$3 last;     rewrite ^(.*)/tag-(.+)/.html$ $1/tag.php?name=$2 last;  }    location ~ /.php$ {        include fastcgi_params;        fastcgi_index index.php;        fastcgi_pass 127.0.0.1:8694;        fastcgi_param SCRIPT_FILENAME /www/www.ccvita.com$fastcgi_script_name;    }  location /www.ccvita.com-status {     stub_status on;     access_log off;  }}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 台南市| 崇左市| 正镶白旗| 建平县| 葫芦岛市| 宝应县| 两当县| 綦江县| 乌海市| 洛扎县| 如东县| 佛坪县| 紫云| 大港区| 明光市| 开江县| 兴文县| 三门县| 新绛县| 延寿县| 富阳市| 呼和浩特市| 乐东| 金阳县| 永泰县| 江津市| 咸阳市| 昌乐县| 华宁县| 宁晋县| 万载县| 黎平县| 台北市| 张掖市| 台东县| 天峻县| 韶关市| 洮南市| 弥渡县| 辽源市| 彭山县|