2015-01-28 10 views
0

Nginx의 다시 쓰기 지시문을 통해 내 URL을 바꾸고 싶습니다. 예를 들어 클라이언트 측에서는 http://127.0.0.1/user/user_id/을 요청하고 Nginx를 으로 다시 쓰려고합니다.http://127.0.0.1/person/person_id/으로 URL을 다시 작성합니다.nginx 다시 쓰기 문제, 왜 그냥 일치하는 문자열 하나를 대체합니까?

내 Nginx의 구성은 다음과 같이이다 : rewrite (.*)user(.*) $1person$2;

하지만이 Nginx에이 에 URL을 변경 세례반 .../사용자/person_id로/

사람이하는 방법에 user을 변경하는 말해 수 다시 쓰기 지시문을 통한 person?

+0

쇼는 전체 서버 설정 –

답변

0

userperson의 첫 번째 인스턴스가 일정한 것을 항상 두 번째 항목 이후에 슬래시가 있다고 가정 할 때, 당신은 시도 할 수 있습니다 :

rewrite ^/user/user_([^/]+)/(.*)$ /person/person_$1/$2 ; 
+0

,하지만 여전히 몇 가지 URL 패턴 수 없습니다. 마침내 내 응용 프로그램의 코드에서 직접 내 URL 구성을 변경합니다. 어쨌든, thanks @Dayo –

+0

문제의 URL 패턴을 추가하면 문제를 발견 할 수 있습니다. – Dayo

0

잘 얘기이 하나의 경우 간단한 해결 될 수있다 :

rewrite ^/user/user_id/(.*)$ /person/person_id/$1 ; 
+0

아니, 이것은 다른 URL 패턴이있다, 단 하나 개의 URL 패턴입니다/이용자/user_activity//user/get_user_.../ 내 대부분의 경우를 커버 할 수 –