htaccess / 다시 쓰기 규칙에 대한 nginx 지원? Apache와의 차이점은 무엇입니까?


16

나는 오랫동안 Apache http 서버와 함께 일해 왔으며 마지막으로 다른 동적 컨텐츠 시스템과 함께 정적 컨텐츠 서버로 이동했습니다.

궁금합니다. nginx가 ".htaccess"파일과 mod_rewrite와 같은 것을 지원합니까?

구문에 익숙해 져서 (구문)의 차이점이 무엇인지, 학습 구성이 Apache 설정에서 nginx로 이동하는 것과 어떤 차이가 있는지 궁금했습니다.

답변:


15

nginx rewrite 구문은 mod_rewrite의 구문보다 훨씬 깨끗합니다.

mod_rewrite 규칙 :

 RewriteRule ^[a-z0-9_-]*-f([0-9]+)/?(p([0-9]+)\.html)?$ /viewforum.php?f=$1&start=$3 [QSA,L,NC]

nginx가됩니다 :

rewrite ^/[a-z0-9_-]*-f([0-9]+)/?(p([0-9]+)\.html)?$ /viewforum.php?f=$1&start=$3 last;

그러나 .htaccess 지원은 없습니다 ...

편집 : nginx에서 http://example.com/~username/ url 을 지원하는 다른 예 :

location ~ /~([a-zA-Z0-9]*)/(.*) {
    root /home/;
    autoindex on;
    index index.html;
    rewrite ^/~([a-zA-Z0-9]*)/(.*)$ /$1/www/$2 break;
}


4

nginx는 mod_rewrite에 해당하는 것으로 보이며 여기 에서 문서를 찾을 수 있습니다 . 나는 nginx를 직접 사용하지는 않았지만 문서는 구성이 완전히 다른 것처럼 보이지만 수행중인 작업을 이해하는 것은 너무 어렵지 않아야합니다. 위키에는 많은 예제가있는 것으로 보입니다.

아파치와 같이 디렉토리 당 구성 파일을 가질 수 있다면 대답 할 수 없습니다. 사람들이 아파치를 사용하는 것을 기대하기 때문에 당신이 할 수 있다면 놀랍지 않습니다.


0

NGINX는 'include'지시문을 통해 많은 파일에서 구성을 지원합니다. 기본적으로 하위 구성을로드하여 배치합니다. 또한 조커 캐릭터도 지원하므로 한 번에 많은 캐릭터를 쉽게로드 할 수 있습니다.

내 의견으로는 유일한 제한은 구성이 변경 될 때 다시로드해야한다는 것입니다. 따라서 구성이있는 모든 사용자는 nginx 구성을 다시로드 할 수있는 권한이 필요할 수 있습니다.

/etc/ini.d/nginx 강제 재로드 (센터에서)

나는 내 자신의 많은 응용 프로그램 (가상 호스트)이있는 많은 서버에서 NGINX를 사용하기 때문에 그것을 피하거나 다르게 할 수있는 방법이 있는지 정말로 모르겠습니다. NGINX는 공유 호스팅에 이상적이지 않습니다.

그럼에도 불구하고 구성이 불쾌한 XML 파일보다 훨씬 읽기 쉽기 때문에 NGINX를 정말 좋아합니다. 맛의 질문 같아요. 다른 좋은 점은 귀하의 경우에 중요하다면 분명히 속도입니다.

행운을 빕니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.