Nginx 리 트 윗 요청 설정 - 작업 기록
26814 단어 Nginx
현재 Nginx 설정
server {
listen 80;
server_name *.test.com;
set $city "";
if ( $host ~* "^(\w+)\.test\.com$") {
set $city $1;
}
rewrite ^/web/ $uri last;
rewrite ^/www/ $uri last;
rewrite ^/css/ $uri last;
rewrite ^/images/ $uri last;
rewrite ^/js/ $uri last;
rewrite ~*\.(css)$ www.test.com/$1 last;
rewrite ^/ajax/(\w+)/(\w+)$ /$1/$2 last;
rewrite ^/ctrl(\w+)/(\w+)\.html$ /$1/$2 last;
rewrite ^/ctrl(\w+)/(\w+)$ /$1/$2?city=$city last;
rewrite ^/ctrl(\w+)/(\w+)/(\w+)$ /$1/$2 last;
rewrite ^/(\w+)/(\w+)$ /$1/$2?city=$city last;
rewrite ^/(\w+)_(\w+)_(\w+)_(\w+)/index(\w+)\.html$ /city/index?city=$city&area=$1&type=$2&tab=$3&order=$4&p=$5? last;
rewrite ^/(\w+)_(\w+)_(\w+)_(\w+)/$ /city/index?city=$city&area=$1&type=$2&tab=$3&order=$4&p=1? last;
rewrite ^/(\w+)_(\w+)_(\w+)/index(\w+)\.html$ /city/index?city=$city&area=$1&type=$2&tab=$3&p=$4? last;
rewrite ^/(\w+)_(\w+)_(\w+)/$ /city/index?city=$city&area=$1&type=$2&tab=$3&p=1? last;
rewrite ^/* /city/index?city=$city&request_uri=$request_uri last;
if ($city = ""){
rewrite ^/* /;
}
error_page 404 /40x.html;
error_page 500 502 503 504 /50x.html;
location / {
proxy_set_header Host $host;
proxy_set_header Remote_Addr $remote_addr;
proxy_set_header X-REAL-IP $remote_addr;
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://area_jjzm_com;
}
}
새로운 수 요 를 만족 시 키 는 설정
server {
listen 80;
server_name *.jjzm.com;
set $city "";
if ( $host ~* "^(\w+)\.jjzm\.com$") {
set $city $1;
}
# $uri_type ,
set $uri_type "www_uri";
if ($request_uri ~* "^/seositemap/(.*)/(\w+).xml$"){
set $uri_type "seo_uri";
}
if ($request_uri ~* "^/(\w+)/seositemap/(.*)/(\w+).xml$"){
set $uri_type "seo_uri";
}
# rewrite
if ($uri_type ~ "www_uri"){
rewrite ^/web/ $uri last;
rewrite ^/www/ $uri last;
rewrite ^/css/ $uri last;
rewrite ^/images/ $uri last;
rewrite ^/js/ $uri last;
rewrite ~*\.(css)$ www.jzmmaoyan.com/$1 last;
rewrite ^/ajax/(\w+)/(\w+)$ /$1/$2 last;
rewrite ^/ctrl(\w+)/(\w+)\.html$ /$1/$2 last;
rewrite ^/ctrl(\w+)/(\w+)$ /$1/$2?city=$city last;
rewrite ^/ctrl(\w+)/(\w+)/(\w+)$ /$1/$2 last;
rewrite ^/(\w+)/(\w+)$ /$1/$2?city=$city last;
rewrite ^/(\w+)_(\w+)_(\w+)_(\w+)/index(\w+)\.html$ /city/index?city=$city&area=$1&type=$2&tab=$3&order=$4&p=$5? last;
rewrite ^/(\w+)_(\w+)_(\w+)_(\w+)/$ /city/index?city=$city&area=$1&type=$2&tab=$3&order=$4&p=1? last;
rewrite ^/(\w+)_(\w+)_(\w+)_(\w+)$ /city/index?city=$city&area=$1&type=$2&tab=$3&order=$4&p=1? last;
rewrite ^/(\w+)_(\w+)_(\w+)/index(\w+)\.html$ /city/index?city=$city&area=$1&type=$2&tab=$3&p=$4? last;
rewrite ^/job/(\w+)\.html$ /common/jobdetail?city=$city&id=$1? last;
rewrite ^/(\w+)_(\w+)_(\w+)/$ /city/index?city=$city&area=$1&type=$2&tab=$3&p=1? last;
rewrite ^/(\w+)_(\w+)_(\w+)$ /city/index?city=$city&area=$1&type=$2&tab=$3&p=1? last;
rewrite ^/* /city/index?city=$city&request_uri=$request_uri last;
}
if ($city = ""){
rewrite ^/* /;
}
error_page 404 /40x.html;
error_page 500 502 503 504 /50x.html;
# 1
location ~* ^/seositemap/(.*)/(\w+).xml$ {
proxy_set_header Host $host;
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://jzmao_timer;
}
# 2
location ~* ^/(\w+)/seositemap/(.*)/(\w+).xml$ {
rewrite ^/(\w+)/seositemap/(.*)/(\w+).xml$ /seositemap/$2/$3.xml break;
proxy_set_header Host $host;
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://jzmao_timer;
}
location / {
proxy_set_header Host $host;
proxy_set_header Remote_Addr $remote_addr;
proxy_set_header X-REAL-IP $remote_addr;
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://area_jjzm_com;
}
}
핵심 설정 내용 분석
if ( 1 || 2 ){
xxx
}
if ( 1 && 2 ){
xxx
}
if ( 1){
if( 2){
}
}
^/seositemap/(.*)/(\w+).xml$
^/seositemap/
: /seositemap/
로 시작 (.*)
: 중간 에 n 층 경로 (\w+).xml
: 문자열. xml 로 종료 주의 사항
if
와 (
사이 에 빈 칸 이 있어 야 한다. 그렇지 않 으 면 Nginx 는 명령 으로 잘못 보고 할 것 이다 이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
linux2에 nginx 설치설치 가능한 nginx를 확인하고, 해당 nginx를 설치한다. localhost 혹은 해당 ip로 접속을 하면 nginx 화면을 볼 수 있다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.