클 라 우 드 컴 퓨 팅 노트 (7) nginx 에서 가장 많이 사용 되 는 7 가지 주소 재 작성 사례

5056 단어 사이트 서비스
1. 주소 재 작성 설정 (예)
1. 인터넷 주소 전환 설정 (사용자 입력 nginx. iso. com 미디어. iso. com 으로 이동) [root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
  server {
        listen 192.168.200.20:80;
        server_name nginx.iso.com;
        root /var/www/wordpress;
        index index.html;
}
        server {
        listen 80;
        server_name test.iso.com;
        location / {
                if ($host = "test.iso.com") {
                        rewrite ^/(.*)$ http://nginx.iso.com/$1 permanent;
                }
        }
}

2. 클 라 이언 트 테이프 파라미터 전환 설정 (tes. iso. com / 100 - 100 | 200 - *. html 를 방문 하여 nginx. iso. com 으로 전환)
server {
		        listen 192.168.200.20:80;
		        server_name nginx.iso.com;
		        location / {
		                        root /var/www/wordpress;
		                        index index.html;
		                }       
		        }       
		    server {    
		        listen 192.168.200.20:80;
		        server_name test.iso.com;
		        location / {
		                if ( $request_uri ~ ^/100-(100|200)-(\d+).html$ ) {
		                        rewrite (.*) http://nginx.iso.com permanent;
		                }       
		        }       
		}       

3. 도 메 인 이름 기반 점프 설정 (nginx. iso. com / test / 1 / index. html 테스트. iso. com / test / 1 / index. html) 사용 자 는 nginx. iso. com / test / 1 / 를 방문 하면 test. iso. com / test / 1 / (nginx. iso. com / test / 는 점프 하지 않 습 니 다)
  server {
	        listen 80;
	        server_name nginx.iso.com;
	        root /var/www/wordpress;
	
	        location /test/1/ {
	                if ($host = "nginx.iso.com") {
	                        rewrite ^/(.*)$ http://test.iso.com/$1 permanent;
	                }
	        }
	}

4. 사이트 업 그 레이 드 를 설정 하고 사이트 관리자 의 IP 주소 (192.168.200.222) 는 사 이 트 를 방문 할 수 있 으 며 기타 요청 은 모두 거절 합 니 다.
   server {
	        listen 80;
	        server_name nginx.iso.com;
	        location / {
	                root /var/www/wordpress;
	                index index.php index.html;
	                set $rewrite true;
	                if ( $remote_addr = "192.168.200.222" ) {
	                        set $rewrite false;
	                }
	                if ( $rewrite = true ) {
	                        rewrite (.+) /error.html;
	                }
	        location = /error.html {
	                root /error;	      
	                }
	        }
	}

5, 사용자 방문 nginx. iso. com / upload / index. html 미디어. iso. com 홈 페이지 로 이동
  server {
	        listen 80;
	        server_name nginx.iso.com;
	        location / {
	                root /var/www/wordpress;
	                index index.php index.html;
	        }
	        location ~* /upload/.*\.php$ {	    upload    .php       
	                rewrite (.+) http://media.iso.com permanent;	    ,      
	               return 301 http://media.iso.com
	               return  200 "The Server Is Upgrade"
	
	        }
	}

6. last 와 break 의 응용 [root@nginx /]# vim /usr/local/nginx/conf/nginx.conf
 server {
	        listen 80;
	        server_name nginx.iso.com;
	        root /var/www/wordpress;
	        location / {
	                rewrite /1.html /2.html;
	                rewrite /2.html /3.html;
	        }       
	        location /2.html {
	                rewrite /2.html /a.html;
	        }       
	        location /3.html {
	                rewrite /3.html /b.html;
	        }       
	}  

[root@nginx wordpress]# echo “1.html” > ./1.html [root@nginx wordpress]# echo “3.html” > ./2.html [root@nginx wordpress]# echo “2.html” > ./2.html [root@nginx wordpress]# echo “3.html” > ./3.html [root@nginx wordpress]# echo “a.html” > ./a.html [root@nginx wordpress]# echo “b.html”>. / b. html 클 라 이언 트 인증:http://www.benet.com/1.html마지막 으로 b. html 1) last 용법 으로 건 너 뛰 기
    server {
	        listen 80;
	        server_name nginx.iso.com;
	        root /var/www/wordpress;
	        location / {
	                rewrite /1.html /2.html last;
	                rewrite /2.html /3.html;
	        }
	        location /2.html {
	                rewrite /2.html /a.html;
	        }
	        location /3.html {
	                rewrite /3.html /b.html;
	        }
	}

클 라 이언 트 인증:http://www.benet.com/1.html결국 a. html 로 건 너 뛰 기
2) break 사용법
	        server {
	        listen 80;
	        server_name nginx.iso.com;
	        root /var/www/wordpress;
	        location / {
	                rewrite /1.html /2.html break;
	                rewrite /2.html /3.html;
	        }
	        location /2.html {
	                rewrite /2.html /a.html;
	        }
	        location /3.html {
	                rewrite /3.html /b.html;
	        }
	}

클 라 이언 트 인증:http://www.benet.com/1.html최종 적 으로 2. html 7 로 넘 어 가 는 흔 한 변수
$request_uri	         
$host			     
$http_host		     ,   $host+$request_uri
$remote_addr	    IP  

좋은 웹페이지 즐겨찾기