Linux - Nginx - Rewrite 규칙 - 1

1892 단어 apache.nginxrewrite
 rewrite  ,        hostname  query string;
             :
rewrite ^/index/([\d+])/(.*).html$ /index.php?atype=$2&user=$1 last

저희 가 테스트 를 해 보도 록 하 겠 습 니 다.
다음은 내 nginx 의 기본 설정 입 니 다.
location / {
        root   html;
        index  index.php index.html index.htm;
    }

웹 서버 의 경로 규칙 을 수정 하고 다음 규칙 을 추가 합 니 다.
rewrite ^/index/$      /index.html  last;

nginx 와 fastcgi 를 다시 시작 하 는 방법 을 잊 어 버 렸 습 니 다. 기록 하 세 요.
sbin/nginx -h
spawn-fcgi
   2         ,       

테스트 결과:
http://192.168.187.129:8080/index/

페이지 가 index. html 로 넘 어 갔습니다.
위의 것 은 모두 알 아야 한다. 소 개 는 자신의 환경 이 정상 인지 아 닌 지 를 테스트 하 는 것 이다. 다음은 정식 적 인 테스트 예 이 고 다음 과 같은 경로 규칙 을 추가 하 는 것 이다.
rewrite ^/index/$ /index.html/ last;
        rewrite ^/index.html/$ /index.php last;

현상 은:
http://192.168.187.129:8080/index/  

이 주소 표시 줄 은 index. php 로 이동 합 니 다. last 를 추가 한 후에 도 다음 재 작성 규칙 과 계속 일치 합 니 다.
  :last         ,        。

다음은 이 상황 을 검증 합 니 다.
     ,    /index/,     /index.html/,
       index.php,             ,
                    ,   。

규칙 수정:
     rewrite ^/index$    /index.php last;
            rewrite ^/index/$ /index.html/ last;
            rewrite ^/index.html/$ /index last;
   ,  http://192.168.187.129:8080/index/     index.php   。

Apache 든 Nginx 든 웹 사이트 의 경 로 를 다시 쓸 때 일치 하 는 과정 은 일치 하 는 지 확인 하고 일치 하지 않 으 면 바로 실행 하 는 것 입 니 다.일치 하 는 것 이 있 으 면 일치 하 는 것 을 실행 한 후 서버 에 새로운 경로 로 계속 전달 합 니 다.

좋은 웹페이지 즐겨찾기