Nginx 서버 에 htaccess 를 지원 하 는 방법

2892 단어
많은 친구 들 이 nginx 를 자주 사용 할 수 있 습 니 다. htaccess 는 지원 하지 않 습 니 다. apache 만 이. htaccess 파일 을 지원 합 니 다. 사실은 잘못된 생각 입 니 다. nginx 도. hatccess 를 지원 합 니 다. 다음은 제 가 설정 방법 을 정리 해 드 리 겠 습 니 다.
사실 nginx 와. htaccess 는 아무런 관계 가 없습니다. 단지 많은 사람들 이 apache 의 영향 을 받 아 nginx 도. htaccess 기능 을 지원 해 야 한다 고 생각 합 니 다.nginx 설정 에서 include. htaccess 파일 을 직접 사용 하면 됩 니 다.

include /    /.htaccess;


얼마나 간단 한 지, 그러나 더욱 웃 을 수 없 는 것 은 대부분의 사람들 이 nginx 와 apache 가 서로 다른 웹 서버 프로그램 이라는 것 을 전혀 모 르 기 때문에 많은 사람들 이 이렇게 한다. nginx 에 include. htaccess 파일 을 포함 한 후에 apache 의 가짜 정적 규칙 인 htaccess 를 사이트 루트 디 렉 터 리 에 업로드 하 는 것 은 어 이 없 는 일이 다.사실 nginx 는 htaccess 뿐만 아니 라 모든 파일 을 포함 할 수 있 습 니 다.
사실 nginx 는 이렇게 인용 합 니 다. htaccess 와 apache 는 차이 가 있 습 니 다.
1. nginx 는 시작 도입 입 니 다. nginx 는 효율 을 특히 중시 하기 때문에 시작 할 때 모든 프로필 을 메모리 에 읽 고 시작 합 니 다.문법 오류 가 발견 되면 시작 에 실 패 했 습 니 다.apache 는 동적 으로 도입 되 어 방문 할 때마다 설정 을 다시 불 러 옵 니 다.
2. nginx 의 include 는 수 동 으로 추가 되 고 디 렉 터 리 를 지정 합 니 다.apache 는 'htaccess' 를 특색 있 는 체제 로 하고 모든 하위 디 렉 터 리 에' htaccess 파일 '이 있 는 것 을 지원 합 니 다.
뿌리 간 의 실제 개발 경험 에 따 르 면 많은 사람들 이 초기 에 가상 공간 을 많이 사 용 했 고 초기의 가상 공간 은 대체적으로 apache 가 웹 서버 를 만 들 었 기 때문에 사용 자 는 공간 업 체 와 연락 하지 않 아 도 스스로 위 정적 이 될 수 있 고 소스 프로그램 은 이 기능 (ecshop, wordpress, pc ms 등) 을 편리 하 게 확대 할 수 있 었 다.그리고 유지 보수 도 편리 합 니 다. htaccess 만 덮어 쓰 면 됩 니 다.
사실, htaccess 를 자주 수정 하 는 사이트 가 몇 개 없 으 며, 현재 기본적으로 vps 를 사용 하 는 것 이 많 습 니 다.
nginx 도. htaccess 파일 을 사용 하여 다양한 기능 을 수행 할 수 있 습 니 다.
nginx / nginx. conf 의 server {} 에 htaccess 파일 을 도입 합 니 다:

include /vhosts/quany.info/.htaccess;

nginx 는. htaccess 파일 을 완전히 지원 할 수 있 습 니 다. 다음 동작 을 누 르 십시오.
1. htaccess 파일 을 새로 만 들 고 이 사이트 의 규칙 과 같은 규칙 을 입력 하 십시오. 

# nginx rewrite rule
rewrite ^(.*?)/article/.*?-(d+)-(d+).html$  $1/show.html?id=$2&page=$3   break;
rewrite ^(.*?)/category/.*?-(d+)-(d+).html$ $1/list.html?id=$2&page=$3   break;
rewrite ^(.*?)/tag/([^/]+)/?$  $1/tag.html?w=$2    break;
rewrite ^(.*?)/tag/([^/]+)/(d+)$    $1/tag.html?w=$2&page=$3    break;
# end nginx rewrite rule

파일 을 저장 하고 사이트 의 루트 디 렉 터 리 에 업로드 합 니 다.
2. 가상 호스트 설정 수정 

# ee /usr/local/etc/nginx/nginx.conf 
#freebsd 7.2  nginx         

가짜 정적 가상 컴퓨터 의 server 블록 에 htaccess 파일 을 추가 해 야 합 니 다. 

include /usr/www/.htaccess
 #       .htaccess     ,

다시 시작 nginx 저장, 종료 

# /usr/local/etc/rc.d/nginx restart

새로 고침 해 보 세 요. 만약 정상 기 가 rewrite rule 의 문법 이 정확 하 다 는 것 을 증명 할 수 있다 면.
nginx 의 rewrite 규칙 은 호스트 설정 에 직접 넣 을 수도 있 고 독립 된 파일 에 includeinru 를 사용 할 수도 있 습 니 다. 독립 된 파일 로 저장 할 때 새 파일 에 저장 할 수도 있 습 니 다.

location ~ /.ht {
  deny all;
}


좋은 웹페이지 즐겨찾기