說到rewrite重寫已經是眾所周知的了,可是這里不光純是rewrite,而是將uri改寫玉成部小寫。這要歸責于公司的汗青遺留問題,因為公司要慢慢從windows太過到linux,要一下子全部過渡已往是不現實的,因為不只僅是架構,尚有web應用措施代碼重構。由于公司流量劇增,iis已經顯得有些吃力,甚至呈現錯誤,并且nginx的呈現改變了web,所以我們規劃陳設nginx處事器,可是由于其時是用asp開拓的基于iis的web應用(我說的是靜態文件,而非asp動態文件,asp在linux上運行也不配套啊,呵呵),,所以沒思量文件和目次巨細寫問題,以至于變成今天之禍。假如將措施遷移到linux里nginx上,會呈現404,有些文件或目次無法會見,這顯得方案不完美,這種環境下需要用到第三方nginx模塊Lower Upper Case
架構如下:
192.168.18.249 windows iis asp
192.168.18.240 nginx1 前端
192.168.18.241 nginx2 后端,安排靜態文件
1、籌備事情
在nginx運行前我們需要拷貝文件,把windows處事器上的靜態文件拷貝到linux處事器上,同時將文件和目次全部轉換為小寫,可以按如下要領做:
將windows方針目次共享,在linux下mount,(在192.168.18.241上操縱)如:
[[email protected] ~]# mount -o username=username,password=pwd //192.168.18.249/c/tmp/webroot /mnt
開始拷貝
[[email protected] ~]# find /mnt/ | xargs -n1|while read s_name
do
d_name=$(echo /data/webroot/${s_name#/mnt