欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2015年12月08日 15:23:02   作者:KimiChen  
這篇文章主要介紹了Nginx服務(wù)器下使用rewrite重寫url以實(shí)現(xiàn)偽靜態(tài)的示例,這里舉了Discuz!和WordPress這兩個(gè)常用的PHP程序,需要的朋友可以參考下

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

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

而在Nginx中寫成這樣寫是無法啟動(dòng)的,解決的辦法是加上兩個(gè)雙引號(hào):

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

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

Rewrite的Flags

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

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

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

即可實(shí)現(xiàn)。

下面是一個(gè)完整的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中百分號(hào)前面多了個(gè)轉(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;

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

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;
  }
}

相關(guān)文章

  • 修改配置解決Nginx服務(wù)器中常見的上傳與連接錯(cuò)誤

    修改配置解決Nginx服務(wù)器中常見的上傳與連接錯(cuò)誤

    這篇文章主要介紹了修改配置解決Nginx服務(wù)器中常見的上傳與連接錯(cuò)誤的方法,分別針對(duì)Nginx的413錯(cuò)誤與111錯(cuò)誤,需要的朋友可以參考下
    2016-01-01
  • 淺談一下Nginx性能優(yōu)化

    淺談一下Nginx性能優(yōu)化

    這篇文章主要介紹了Nginx性能優(yōu)化,Nginx (engine x) 是一個(gè)高性能的HTTP和反向代理web服務(wù)器,同時(shí)也提供了IMAP/POP3/SMTP服務(wù),需要的朋友可以參考下
    2023-04-04
  • Nginx代理時(shí)header頭中帶

    Nginx代理時(shí)header頭中帶"_"信息丟失問題的解決

    這篇文章主要給大家介紹了關(guān)于Nginx代理時(shí)header頭中帶"_"信息丟失問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • Nginx日志按天分割實(shí)戰(zhàn)

    Nginx日志按天分割實(shí)戰(zhàn)

    本文主要介紹了Nginx日志按天分割實(shí)戰(zhàn),方便快速按照天的維度分析以及查找報(bào)錯(cuò)定位,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • nginx 配置代理服務(wù)地址最后多加反斜杠和不加反斜杠的區(qū)別小結(jié)

    nginx 配置代理服務(wù)地址最后多加反斜杠和不加反斜杠的區(qū)別小結(jié)

    在使用Nginx配置代理服務(wù)時(shí),地址最后是否添加反斜杠(/)會(huì)對(duì)代理的URL處理產(chǎn)生影響,下面就來具體介紹一下,感興趣的可以了解一下
    2024-08-08
  • 為Node.js程序配置使用Nginx服務(wù)器的簡明教程

    為Node.js程序配置使用Nginx服務(wù)器的簡明教程

    這篇文章主要介紹了為Node.js程序配置使用Nginx服務(wù)器的簡明教程,Nginx與Node自帶的服務(wù)器一樣都擁有非阻塞的高性能,需要的朋友可以參考下
    2016-01-01
  • Nginx Lua Waf 插件一鍵部署的操作示例

    Nginx Lua Waf 插件一鍵部署的操作示例

    這篇文章主要介紹了Nginx Lua Waf 插件一鍵部署的操作示例,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • Nginx中全局變量整理小結(jié)

    Nginx中全局變量整理小結(jié)

    對(duì)于Nginx下全局變量整理,方便使用Nginx的朋友調(diào)用全局變量。
    2010-08-08
  • Linux下Nginx負(fù)載均衡多個(gè)tomcat配置的方法步驟

    Linux下Nginx負(fù)載均衡多個(gè)tomcat配置的方法步驟

    這篇文章主要介紹了Linux下Nginx負(fù)載均衡多個(gè)tomcat配置的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-04-04
  • Nginx的反向代理實(shí)例詳解

    Nginx的反向代理實(shí)例詳解

    這篇文章主要介紹了Nginx的反向代理實(shí)例詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10

最新評(píng)論