亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Nginx > 正文

nginx rewrite 偽靜態配置參數詳細說明

2024-08-30 12:24:05
字體:
來源:轉載
供稿:網友

nginx rewrite 偽靜態配置參數和使用例子 附正則使用說明

正則表達式匹配,其中:

  1. * ~ 為區分大小寫匹配
  2. * ~* 為不區分大小寫匹配
  3. * !~和!~*分別為區分大小寫不匹配及不區分大小寫不匹配

文件及目錄匹配,其中:

  1. * -f和!-f用來判斷是否存在文件
  2. * -d和!-d用來判斷是否存在目錄
  3. * -e和!-e用來判斷是否存在文件或目錄
  4. * -x和!-x用來判斷文件是否可執行

flag標記有:

  1. * last 相當于Apache里的[L]標記,表示完成rewrite
  2. * break 終止匹配, 不再匹配后面的規則
  3. * redirect 返回302臨時重定向 地址欄會顯示跳轉后的地址
  4. * permanent 返回301永久重定向 地址欄會顯示跳轉后的地址

一些可用的全局變量有,可以用做條件判斷(待補全)

  1. $args
  2. $content_length
  3. $content_type
  4. $document_root
  5. $document_uri
  6. $host
  7. $http_user_agent
  8. $http_cookie
  9. $limit_rate
  10. $request_body_file
  11. $request_method
  12. $remote_addr
  13. $remote_port
  14. $remote_user
  15. $request_filename
  16. $request_uri
  17. $query_string
  18. $scheme
  19. $server_protocol
  20. $server_addr
  21. $server_name
  22. $server_port
  23. $uri

結合QeePHP的例子

  1. if (!-d $request_filename) {
  2. rewrite ^/([a-z-A-Z]+)/([a-z-A-Z]+)/?(.*)$ /index.php?namespace=user&controller=$1&action=$2&$3 last;
  3. rewrite ^/([a-z-A-Z]+)/?$ /index.php?namespace=user&controller=$1 last;
  4. break;

多目錄轉成參數
abc.domian.com/sort/2 => abc.domian.com/index.php?act=sort&name=abc&id=2

  1. if ($host ~* (.*)/.domain/.com) {
  2. set $sub_name $1;
  3. rewrite ^/sort//(/d+)//?$ /index.php?act=sort&cid=$sub_name&id=$1 last;
  4. }

目錄對換
/123456/xxxx -> /xxxx?id=123456

  1. rewrite ^/(/d+)/(.+)/ /$2?id=$1 last;

例如下面設定nginx在用戶使用ie的使用重定向到/nginx-ie目錄下:

  1. if ($http_user_agent ~ MSIE) {
  2. rewrite ^(.*)$ /nginx-ie/$1 break;
  3. }

目錄自動加“/”

  1. if (-d $request_filename){
  2. rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
  3. }

禁止htaccess

  1. location ~//.ht {
  2. deny all;
  3. }

禁止多個目錄

  1. location ~ ^/(cron|templates)/ {
  2. deny all;
  3. break;
  4. }

禁止以/data開頭的文件
可以禁止/data/下多級目錄下.log.txt等請求;

  1. location ~ ^/data {
  2. deny all;
  3. }

禁止單個目錄
不能禁止.log.txt能請求

  1. location /searchword/cron/ {
  2. deny all;
  3. }

禁止單個文件

  1. location ~ /data/sql/data.sql {
  2. deny all;
  3. }

給favicon.ico和robots.txt設置過期時間;
這里為favicon.ico為99天,robots.txt為7天并不記錄404錯誤日志

  1. location ~(favicon.ico) {
  2. log_not_found off;
  3. expires 99d;
  4. break;
  5. }
  6.  
  7. location ~(robots.txt) {
  8. log_not_found off;
  9. expires 7d;
  10. break;
  11. }

設定某個文件的過期時間;這里為600秒,并不記錄訪問日志

  1. location ^~ /html/scripts/loadhead_1.js {
  2. access_log off;
  3. root /opt/lampp/htdocs/web;
  4. expires 600;
  5. break;
  6. }

文件反盜鏈并設置過期時間
這里的return 412 為自定義的http狀態碼,默認為403,方便找出正確的盜鏈的請求
“rewrite ^/ http://leech.c1gstudio.com/leech.gif;”顯示一張防盜鏈圖片
“access_log off;”不記錄訪問日志,減輕壓力
“expires 3d”所有文件3天的瀏覽器緩存

  1. location ~* ^.+/.(jpg|jpeg|gif|png|swf|rar|zip|css|js)$ {
  2. valid_referers none blocked *.c1gstudio.com *.c1gstudio.net localhost 208.97.167.194;
  3. if ($invalid_referer) {
  4. rewrite ^/ http://leech.c1gstudio.com/leech.gif;
  5. return 412;
  6. break;
  7. }
  8. access_log off;
  9. root /opt/lampp/htdocs/web;
  10. expires 3d;
  11. break;
  12. }

只充許固定ip訪問網站,并加上密碼

  1. root /opt/htdocs/www;
  2. allow 208.97.167.194;
  3. allow 222.33.1.2;
  4. allow 231.152.49.4;
  5. deny all;
  6. auth_basic "C1G_ADMIN";
  7. auth_basic_user_file htpasswd;

將多級目錄下的文件轉成一個文件,增強seo效果
/job-123-456-789.html 指向/job/123/456/789.html

  1. rewrite ^/job-([0-9]+)-([0-9]+)-([0-9]+)/.html$ /job/$1/$2/jobshow_$3.html last;

將根目錄下某個文件夾指向2級目錄
如/shanghaijob/ 指向 /area/shanghai/
如果你將last改成permanent,那么瀏覽器地址欄顯是/location/shanghai/

  1. rewrite ^/([0-9a-z]+)job/(.*)$ /area/$1/$2 last;

上面例子有個問題是訪問/shanghai 時將不會匹配

  1. rewrite ^/([0-9a-z]+)job$ /area/$1/ last;
  2. rewrite ^/([0-9a-z]+)job/(.*)$ /area/$1/$2 last;

這樣/shanghai 也可以訪問了,但頁面中的相對鏈接無法使用,
如./list_1.html真實地址是/area/shanghia/list_1.html會變成/list_1.html,導至無法訪問。

那我加上自動跳轉也是不行咯
(-d $request_filename)它有個條件是必需為真實目錄,而我的rewrite不是的,所以沒有效果

  1. if (-d $request_filename){
  2. rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
  3. }

知道原因后就好辦了,讓我手動跳轉吧

  1. rewrite ^/([0-9a-z]+)job$ /$1job/ permanent;
  2. rewrite ^/([0-9a-z]+)job/(.*)$ /area/$1/$2 last;

文件和目錄不存在的時候重定向:

  1. if (!-e $request_filename) {
  2. proxy_pass http://127.0.0.1;
  3. }

域名跳轉

  1. server
  2. {
  3. listen 80;
  4. server_name jump.c1gstudio.com;
  5. index index.html index.htm index.php;
  6. root /opt/lampp/htdocs/www;
  7. rewrite ^/ http://www.c1gstudio.com/;
  8. access_log off;
  9. }

多域名轉向

  1. server_name www.c1gstudio.com www.c1gstudio.net;
  2. index index.html index.htm index.php;
  3. root /opt/lampp/htdocs;
  4. if ($host ~ "c1gstudio/.net") {
  5. rewrite ^(.*) http://www.c1gstudio.com$1 permanent;
  6. }

三級域名跳轉

  1. if ($http_host ~* "^(.*)/.i/.c1gstudio/.com$") {
  2. rewrite ^(.*) http://top.yingjiesheng.com$1;
  3. break;
  4. }

域名鏡向

  1. server
  2. {
  3. listen 80;
  4. server_name mirror.c1gstudio.com;
  5. index index.html index.htm index.php;
  6. root /opt/lampp/htdocs/www;
  7. rewrite ^/(.*) http://www.c1gstudio.com/$1 last;
  8. access_log off;
  9. }

某個子目錄作鏡向

  1. location ^~ /zhaopinhui {
  2. rewrite ^.+ http://zph.c1gstudio.com/ last;
  3. break;
  4. }

discuz ucenter home (uchome) rewrite

  1. rewrite ^/(space|network)-(.+)/.html$ /$1.php?rewrite=$2 last;
  2. rewrite ^/(space|network)/.html$ /$1.php last;
  3. rewrite ^/([0-9]+)$ /space.php?uid=$1 last;

discuz 7 rewrite

  1. rewrite ^(.*)/archiver/((fid|tid)-[/w/-]+/.html)$ $1/archiver/index.php?$2 last;
  2. rewrite ^(.*)/forum-([0-9]+)-([0-9]+)/.html$ $1/forumdisplay.php?fid=$2&page=$3 last;
  3. rewrite ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)/.html$ $1/viewthread.php?tid=$2&extra=page/%3D$4&page=$3 last;
  4. rewrite ^(.*)/profile-(username|uid)-(.+)/.html$ $1/viewpro.php?$2=$3 last;
  5. rewrite ^(.*)/space-(username|uid)-(.+)/.html$ $1/space.php?$2=$3 last;
  6. rewrite ^(.*)/tag-(.+)/.html$ $1/tag.php?name=$2 last;

給discuz某版塊單獨配置域名

  1. server_name bbs.c1gstudio.com news.c1gstudio.com;
  2.  
  3. location = / {
  4. if ($http_host ~ news/.c1gstudio.com$) {
  5. rewrite ^.+ http://news.c1gstudio.com/forum-831-1.html last;
  6. break;
  7. }
  8. }

discuz ucenter 頭像 rewrite 優化

  1. location ^~ /ucenter {
  2. location ~ .*/.php?$
  3. {
  4. #fastcgi_pass unix:/tmp/php-cgi.sock;
  5. fastcgi_pass 127.0.0.1:9000;
  6. fastcgi_index index.php;
  7. include fcgi.conf;
  8. }
  9.  
  10. location /ucenter/data/avatar {
  11. log_not_found off;
  12. access_log off;
  13. location ~ /(.*)_big/.jpg$ {
  14. error_page 404 /ucenter/images/noavatar_big.gif;
  15. }
  16. location ~ /(.*)_middle/.jpg$ {
  17. error_page 404 /ucenter/images/noavatar_middle.gif;
  18. }
  19. location ~ /(.*)_small/.jpg$ {
  20. error_page 404 /ucenter/images/noavatar_small.gif;
  21. }
  22. expires 300;
  23. break;
  24. }
  25. }

jspace rewrite

  1. location ~ .*/.php?$
  2. {
  3. #fastcgi_pass unix:/tmp/php-cgi.sock;
  4. fastcgi_pass 127.0.0.1:9000;
  5. fastcgi_index index.php;
  6. include fcgi.conf;
  7. }
  8.  
  9. location ~* ^/index.php/
  10. {
  11. rewrite ^/index.php/(.*) /index.php?$1 break;
  12. fastcgi_pass 127.0.0.1:9000;
  13. fastcgi_index index.php;
  14. include fcgi.conf;
  15. }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品第一页在线播放| 国产极品精品在线观看| 国语自产精品视频在免费| 欧美丰满少妇xxxx| 亚洲国产精品大全| 91视频国产一区| 国产91精品在线播放| 欧美大尺度激情区在线播放| 欧洲亚洲免费视频| 亚洲视频在线免费看| 91在线无精精品一区二区| 91嫩草在线视频| 亚洲精品综合久久中文字幕| 成人黄色在线免费| 国产美女久久精品| 日韩中文字幕网站| 亚洲黄色有码视频| 超碰97人人做人人爱少妇| 在线成人中文字幕| 热99精品只有里视频精品| 国产精品亚洲美女av网站| 深夜成人在线观看| 97精品国产97久久久久久春色| 欧美福利小视频| 国产精品91久久久| 麻豆国产va免费精品高清在线| 久久精品国产96久久久香蕉| 久久精品成人动漫| 国产精品福利小视频| 97精品在线观看| 欧美中文在线观看国产| 亚洲综合大片69999| 日韩欧美中文第一页| 亚洲美女精品成人在线视频| 97国产在线观看| 欧美xxxx做受欧美.88| 亚洲人成电影在线播放| 久久久成人的性感天堂| 国产成人精品视频在线观看| 色老头一区二区三区| 国产精品亚洲美女av网站| 欧美日韩一区二区三区在线免费观看| 亚洲国产欧美一区| 91精品国产777在线观看| 亚洲欧美日本另类| 日韩精品免费电影| 中文字幕在线看视频国产欧美在线看完整| 深夜精品寂寞黄网站在线观看| 亚洲精品欧美一区二区三区| 精品一区二区三区四区在线| 在线观看免费高清视频97| yellow中文字幕久久| 国产日韩欧美在线| 国产成人精品优优av| 97在线免费视频| 亚洲欧美精品一区二区| 国产欧美精品日韩精品| 夜夜嗨av色综合久久久综合网| 亚洲视频日韩精品| 国产精品久久久久久久久久小说| 这里只有精品视频在线| 日韩久久精品成人| 国产精品视频午夜| 亚洲二区中文字幕| 欧美亚洲另类制服自拍| 91精品国产一区| www.日本久久久久com.| www.久久色.com| 国产一区二区久久精品| 欧美又大又硬又粗bbbbb| 伊人精品在线观看| 久久精品国产亚洲| 国产精品久久久久久av福利软件| 日韩电影中文字幕在线| 精品成人在线视频| 狠狠做深爱婷婷久久综合一区| 萌白酱国产一区二区| 午夜精品视频网站| 欧美最猛性xxxxx(亚洲精品)| 国产精品扒开腿做爽爽爽视频| 亚洲性视频网址| 精品丝袜一区二区三区| 成人久久久久久久| 国语自产精品视频在线看| 夜夜嗨av一区二区三区免费区| 欧美日韩国产丝袜美女| 欧美日韩中文字幕在线| 欧美美女操人视频| 在线播放日韩av| 欧美日韩亚洲成人| 欧美华人在线视频| 亚洲国产精品久久久久| 黑人巨大精品欧美一区二区一视频| 日韩在线视频免费观看高清中文| 亚洲成人精品视频| 欧美电影免费在线观看| 91色琪琪电影亚洲精品久久| 一区二区三欧美| 久久影视三级福利片| 欧美壮男野外gaytube| 久久久噜噜噜久噜久久| 欧美高清第一页| 亚洲黄色av女优在线观看| 日韩一级裸体免费视频| 亚洲第一av网| 色婷婷亚洲mv天堂mv在影片| 欧美日本精品在线| 亚洲伊人一本大道中文字幕| 国产精品日韩精品| 亚洲精品资源在线| 国产精品久久久久999| 国产亚洲人成网站在线观看| 久久艳片www.17c.com| 97精品国产97久久久久久免费| 国产亚洲综合久久| 在线播放精品一区二区三区| 欧美有码在线观看视频| 欧美日韩精品中文字幕| 91亚洲国产精品| 国产精品91一区| 91精品综合视频| 亚洲精品456在线播放狼人| 欧美午夜激情在线| 日韩理论片久久| 精品久久久久久久久久久久久久| 黑人巨大精品欧美一区二区| 一区二区成人av| 国产精品入口免费视频一| 亚洲成人网在线观看| 欧美丝袜美女中出在线| 91av网站在线播放| 欧美激情欧美狂野欧美精品| 成人免费在线视频网站| 日韩视频在线免费| 欧美精品情趣视频| 久久久www成人免费精品| 亚洲在线免费观看| 欧美性感美女h网站在线观看免费| 日韩在线观看免费高清完整版| 日韩精品中文字幕在线观看| 久久影视电视剧免费网站清宫辞电视| 欧美激情精品久久久久久久变态| 精品国产乱码久久久久酒店| 精品综合久久久久久97| 欧美日韩免费区域视频在线观看| 日本成人黄色片| 中文字幕最新精品| 久久婷婷国产麻豆91天堂| 欧美日本亚洲视频| 亚洲天堂av网| 国产欧美亚洲视频| 久久久久久久久国产精品| 久久亚洲成人精品| 亚洲欧美国产另类| 91精品国产九九九久久久亚洲| 久久久久国色av免费观看性色| 欧美孕妇毛茸茸xxxx| 97超视频免费观看| 欧美另类极品videosbestfree| 欧美又大又硬又粗bbbbb| 黄色精品在线看| 国内精品一区二区三区| 992tv成人免费视频| xvideos成人免费中文版|