2016-11-23 2 views
1

파일로 재 작성 :의 nginx URI 내가 좋아하는 URI로 파일을 열 nginx를 필요

/var/www/example.com/en_US/_foo_test_bar

또는에서

http://example.com/en/foo2/test2-bar에서

http://example.com/en/foo/test-bar은/var/www/example.com/en_US/_foo2_test2_bar

글자/숫자를 제외한 모든 기호가 밑줄로 바뀝니다. 이 위치를 어떻게보아야합니까, 리디렉션을 사용하는 것이 더 좋을 수 있습니까?

location /en/ { 
rewrite ... 
} 

나는 nginx를하고 정규 표현식 이러한 메커니즘에 대한 최선의 방법을 모른다. 고맙습니다.

답변

0

rewrite을 사용하면 심볼이 모두 변경 될 때까지 심볼을 반복적으로 변경할 수 있습니다. 실제 파일이 예를 들어 en_US 아래에 있다고 가정하면 보여줍니다 기호가 모두 소모 될 때까지

location /en/ { 
    rewrite ^/en/(.*)[^A-Za-z0-9_](.*)$ /en/$1_$2 last; 
    rewrite ^/en/(.*)$ /en_US/$1 last; 
} 
location /en_US/ { 
    root /path/to/real/files; 
} 

첫 번째 rewrite 반복적으로 일치합니다. 두 번째 rewrite은 실제 파일을 제공하기 위해 URI를 준비합니다.

자세한 내용은 this document을 참조하십시오.