클 라 우 드 컴 퓨 팅 노트 (7) nginx 에서 가장 많이 사용 되 는 7 가지 주소 재 작성 사례
5056 단어 사이트 서비스
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