Nginx Rewrite(α¾²Ì¬¹æÔò)²ÎÊýÏê½â
ÕýÔò±í´ïʽƥÅ䣬ÆäÖУº
abc.domian.com/sort/2 => abc.domian.com/index.php?act=sort&name=abc&id=2
/123456/xxxx -> /xxxx?id=123456
¿ÉÒÔ½ûÖ¹/data/϶༶Ŀ¼ÏÂ.log.txtµÈÇëÇó;
²»ÄܽûÖ¹.log.txtÄÜÇëÇó
ÕâÀïΪfavicon.icoΪ99Ìì,robots.txtΪ7Ìì²¢²»¼Ç¼404´íÎóÈÕÖ¾
ÕâÀïµÄreturn 412 Ϊ×Ô¶¨ÒåµÄhttp״̬Â룬ĬÈÏΪ403£¬·½±ãÕÒ³öÕýÈ·µÄµÁÁ´µÄÇëÇó
¡°rewrite ^/ http://leech.c1gstudio.com/leech.gif;¡±ÏÔʾһÕÅ·ÀµÁÁ´Í¼Æ¬
¡°access_log off;¡±²»¼Ç¼·ÃÎÊÈÕÖ¾£¬¼õÇáѹÁ¦
¡°expires 3d¡±ËùÓÐÎļþ3ÌìµÄä¯ÀÀÆ÷»º´æ
/job-123-456-789.html Ö¸Ïò/job/123/456/789.html
Èç/shanghaijob/ Ö¸Ïò /area/shanghai/
Èç¹ûÄ㽫last¸Ä³Épermanent£¬ÄÇôä¯ÀÀÆ÷µØÖ·À¸ÏÔÊÇ/location/shanghai/
Èç./list_1.htmlÕæʵµØÖ·ÊÇ/area/shanghia/list_1.html»á±ä³É/list_1.html,µ¼ÖÁÎÞ·¨·ÃÎÊ¡£
ÄÇÎÒ¼ÓÉÏ×Ô¶¯ÌøתҲÊDz»Ðп©
(-d $request_filename)ËüÓиöÌõ¼þÊDZØÐèΪÕæʵĿ¼£¬¶øÎÒµÄrewrite²»Êǵģ¬ËùÒÔûÓÐЧ¹û
- * ~ ΪÇø·Ö´óСдƥÅä
- * ~* Ϊ²»Çø·Ö´óСдƥÅä
- * !~ºÍ!~*·Ö±ðΪÇø·Ö´óСд²»Æ¥Åä¼°²»Çø·Ö´óСд²»Æ¥Åä
- * -fºÍ!-fÓÃÀ´ÅжÏÊÇ·ñ´æÔÚÎļþ
- * -dºÍ!-dÓÃÀ´ÅжÏÊÇ·ñ´æÔÚĿ¼
- * -eºÍ!-eÓÃÀ´ÅжÏÊÇ·ñ´æÔÚÎļþ»òĿ¼
- * -xºÍ!-xÓÃÀ´ÅжÏÎļþÊÇ·ñ¿ÉÖ´ÐÐ
- * last Ï൱ÓÚApacheÀïµÄ[L]±ê¼Ç£¬±íʾÍê³Érewrite
- * break ÖÕֹƥÅä, ²»ÔÙÆ¥ÅäºóÃæµÄ¹æÔò
- * redirect ·µ»Ø302ÁÙʱÖض¨Ïò µØÖ·À¸»áÏÔʾÌøתºóµÄµØÖ·
- * permanent ·µ»Ø301ÓÀ¾ÃÖض¨Ïò µØÖ·À¸»áÏÔʾÌøתºóµÄµØÖ·
- $args
- $content_length
- $content_type
- $document_root
- $document_uri
- $host
- $http_user_agent
- $http_cookie
- $limit_rate
- $request_body_file
- $request_method
- $remote_addr
- $remote_port
- $remote_user
- $request_filename
- $request_uri
- $query_string
- $scheme
- $server_protocol
- $server_addr
- $server_name
- $server_port
- $uri
- if (!-d $request_filename) {
- rewrite ^/([a-z-A-Z]+)/([a-z-A-Z]+)/?(.*)$ /index.php?namespace=user&controller=$1&action=$2&$3 last;
- rewrite ^/([a-z-A-Z]+)/?$ /index.php?namespace=user&controller=$1 last;
- break;
abc.domian.com/sort/2 => abc.domian.com/index.php?act=sort&name=abc&id=2
- if ($host ~* (.*)\.domain\.com) {
- set $sub_name $1;
- rewrite ^/sort\/(\d+)\/?$ /index.php?act=sort&cid=$sub_name&id=$1 last;
- }
/123456/xxxx -> /xxxx?id=123456
- rewrite ^/(\d+)/(.+)/ /$2?id=$1 last;
- if ($http_user_agent ~ MSIE) {
- rewrite ^(.*)$ /nginx-ie/$1 break;
- }
- if (-d $request_filename){
- rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
- }
- location ~/\.ht {
- deny all;
- }
- location ~ ^/(cron|templates)/ {
- deny all;
- break;
- }
¿ÉÒÔ½ûÖ¹/data/϶༶Ŀ¼ÏÂ.log.txtµÈÇëÇó;
- location ~ ^/data {
- deny all;
- }
²»ÄܽûÖ¹.log.txtÄÜÇëÇó
- location /searchword/cron/ {
- deny all;
- }
- location ~ /data/sql/data.sql {
- deny all;
- }
ÕâÀïΪfavicon.icoΪ99Ìì,robots.txtΪ7Ìì²¢²»¼Ç¼404´íÎóÈÕÖ¾
- location ~(favicon.ico) {
- log_not_found off;
- expires 99d;
- break;
- }
- location ~(robots.txt) {
- log_not_found off;
- expires 7d;
- break;
- }
- location ^~ /html/scripts/loadhead_1.js {
- access_log off;
- root /opt/lampp/htdocs/web;
- expires 600;
- break;
- }
ÕâÀïµÄreturn 412 Ϊ×Ô¶¨ÒåµÄhttp״̬Â룬ĬÈÏΪ403£¬·½±ãÕÒ³öÕýÈ·µÄµÁÁ´µÄÇëÇó
¡°rewrite ^/ http://leech.c1gstudio.com/leech.gif;¡±ÏÔʾһÕÅ·ÀµÁÁ´Í¼Æ¬
¡°access_log off;¡±²»¼Ç¼·ÃÎÊÈÕÖ¾£¬¼õÇáѹÁ¦
¡°expires 3d¡±ËùÓÐÎļþ3ÌìµÄä¯ÀÀÆ÷»º´æ
- location ~* ^.+\.(jpg|jpeg|gif|png|swf|rar|zip|css|js)$ {
- valid_referers none blocked *.c1gstudio.com *.c1gstudio.net localhost 208.97.167.194;
- if ($invalid_referer) {
- rewrite ^/ http://leech.c1gstudio.com/leech.gif;
- return 412;
- break;
- }
- access_log off;
- root /opt/lampp/htdocs/web;
- expires 3d;
- break;
- }
- root /opt/htdocs/www;
- allow 208.97.167.194;
- allow 222.33.1.2;
- allow 231.152.49.4;
- deny all;
- auth_basic "C1G_ADMIN";
- auth_basic_user_file htpasswd;
/job-123-456-789.html Ö¸Ïò/job/123/456/789.html
- rewrite ^/job-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /job/$1/$2/jobshow_$3.html last;
Èç/shanghaijob/ Ö¸Ïò /area/shanghai/
Èç¹ûÄ㽫last¸Ä³Épermanent£¬ÄÇôä¯ÀÀÆ÷µØÖ·À¸ÏÔÊÇ/location/shanghai/
- rewrite ^/([0-9a-z]+)job/(.*)$ /area/$1/$2 last;
- rewrite ^/([0-9a-z]+)job$ /area/$1/ last;
- rewrite ^/([0-9a-z]+)job/(.*)$ /area/$1/$2 last;
Èç./list_1.htmlÕæʵµØÖ·ÊÇ/area/shanghia/list_1.html»á±ä³É/list_1.html,µ¼ÖÁÎÞ·¨·ÃÎÊ¡£
ÄÇÎÒ¼ÓÉÏ×Ô¶¯ÌøתҲÊDz»Ðп©
(-d $request_filename)ËüÓиöÌõ¼þÊDZØÐèΪÕæʵĿ¼£¬¶øÎÒµÄrewrite²»Êǵģ¬ËùÒÔûÓÐЧ¹û
- if (-d $request_filename){
- rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
- }
- rewrite ^/([0-9a-z]+)job$ /$1job/ permanent;
- rewrite ^/([0-9a-z]+)job/(.*)$ /area/$1/$2 last;
- if (!-e $request_filename) {
- proxy_pass http://127.0.0.1;
- }
- server
- {
- listen 80;
- server_name jump.c1gstudio.com;
- index index.html index.htm index.php;
- root /opt/lampp/htdocs/www;
- rewrite ^/ http://www.c1gstudio.com/;
- access_log off;
- }
- server_name www.c1gstudio.com www.c1gstudio.net;
- index index.html index.htm index.php;
- root /opt/lampp/htdocs;
- if ($host ~ "c1gstudio\.net") {
- rewrite ^(.*) http://www.c1gstudio.com$1 permanent;
- }
- if ($http_host ~* "^(.*)\.i\.c1gstudio\.com$") {
- rewrite ^(.*) http://top.yingjiesheng.com$1;
- break;
- }
- server
- {
- listen 80;
- server_name mirror.c1gstudio.com;
- index index.html index.htm index.php;
- root /opt/lampp/htdocs/www;
- rewrite ^/(.*) http://www.c1gstudio.com/$1 last;
- access_log off;
- }
- location ^~ /zhaopinhui {
- rewrite ^.+ http://zph.c1gstudio.com/ last;
- break;
- }
- rewrite ^/(space|network)-(.+)\.html$ /$1.php?rewrite=$2 last;
- rewrite ^/(space|network)\.html$ /$1.php last;
- rewrite ^/([0-9]+)$ /space.php?uid=$1 last;
- 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\=$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;
- server_name bbs.c1gstudio.com news.c1gstudio.com;
- location = / {
- if ($http_host ~ news\.c1gstudio.com$) {
- rewrite ^.+ http://news.c1gstudio.com/forum-831-1.html last;
- break;
- }
- }
- location ^~ /ucenter {
- location ~ .*\.php?$
- {
- #fastcgi_pass unix:/tmp/php-cgi.sock;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- include fcgi.conf;
- }
- location /ucenter/data/avatar {
- log_not_found off;
- access_log off;
- location ~ /(.*)_big\.jpg$ {
- error_page 404 /ucenter/images/noavatar_big.gif;
- }
- location ~ /(.*)_middle\.jpg$ {
- error_page 404 /ucenter/images/noavatar_middle.gif;
- }
- location ~ /(.*)_small\.jpg$ {
- error_page 404 /ucenter/images/noavatar_small.gif;
- }
- expires 300;
- break;
- }
- }
- location ~ .*\.php?$
- {
- #fastcgi_pass unix:/tmp/php-cgi.sock;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- include fcgi.conf;
- }
- location ~* ^/index.php/
- {
- rewrite ^/index.php/(.*) /index.php?$1 break;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- include fcgi.conf;
- }
ÍƼöÐÅÏ¢
- linuxÃüÁîѧϰ±Ê¼Ç£¨11£©£ºnlÃüÁî
- linuxÃüÁîѧϰ±Ê¼Ç£¨5£©£ºrmÃüÁî
- linuxÃüÁîѧϰ±Ê¼Ç£¨4£©£ºmkdirÃüÁî
- linuxÃüÁîѧϰ±Ê¼Ç£¨1£©£ºlsÃüÁî
- ½«CentosµÄyumÔ´¸ü»»Îª¹úÄڵİ¢ÀïÔÆÔ´
- ʹÓÃNginxÌí¼Óheader·ÀÖ¹ÍøÒ³±»frame
- linuxϼÓËÙscp´«Êä´óÎļþµÄËÙ¶È
- linuxϵͳÉ϶ÔnginxÈÕÖ¾·Ö¸î´¦Àí
- lnmp/nginxϵͳÕæÕýÓÐЧµÄͼƬ·ÀµÁÁ´ÍêÕûÉèÖÃÏê½â
- Í»ÆÆÊ®Íò²¢·¢µÄNginxµÄÅäÖü°ÓÅ»¯
ÈÈÃÅÐÅÏ¢
- nohup: redirecting stderr to stdou....
- ʹÓÃlog_formatΪNginx·þÎñÆ÷ÉèÖøüÏêϸµÄÈÕÖ¾¸ñʽ
- jquery easyUI--dataGrid-Json
- [Ô´´]·ÂGoogle Reader¡¢ÐÂÀË΢²©¡¢ÌÚѶ΢²©µ....
- ÀûÓÃKeepalived+mysql¹¹½¨¸ß¿ÉÓÃMySQLË«Ö÷×Ô¶....
- Nginx+keepalivedʵÏÖ¸ºÔؾùºâºÍË«»úÈȱ¸¸ß¿ÉÓÃ
- jqueryʵÏÖÒ³Ãæ¼ÓÔؽø¶ÈÌõ
- Rolling cURL: PHP²¢·¢×î¼Ñʵ¼ù
- codeigniter ·ÓÉÖÕ¼«ÓÅ»¯(url rewrite)
- linuxÏÂÉèÖÃsshÎÞÃÜÂëµÇ¼
×î½ü¸üÐÂ
- ²éÕÒ²¢É¾³ý.svnĿ¼Îļþ
- redis ÆßÖÖÊý¾ÝÀàÐ͵ÄʹÓó¡¾°
- linux ÏÂÎļþ¸´ÖƵ½windowsÏÂÂÒÂëµÄ½â¾ö°ì·¨
- nginx³öÏÖ502 upstream sent too big he....
- linuxÏÂsudoÅäÖÃÏê½â
- linuxÃüÁîѧϰ±Ê¼Ç£¨15£©£ºtailÃüÁî
- linuxÃüÁîѧϰ±Ê¼Ç£¨14£©£ºheadÃüÁî
- linuxÃüÁîѧϰ±Ê¼Ç£¨13£©£ºlessÃüÁî
- linuxÃüÁîѧϰ±Ê¼Ç£¨12£©£ºmoreÃüÁî
- ¼ÓÃÜËã·¨±È½Ï3DES AES RSA ECC MD5 SHA1µÈ
ÆÀÂÛ