2013-01-02 1 views
5

URL을 공백으로 일치 시키려면 공백을 %20 또는 +으로 인코딩 할 수 있습니다. Nginx 정규 표현식에서 이것을 맞추기 위해 어떤 패턴을 사용해야합니까?Nginx는 일치시키기 전에 URL 문자의 인용 부호를 풀거나 이스케이프 해제합니까?

Nginx는 그대로 URL을 전달합니까?

(?:%20|\+|)

은 또는, Nginx에 어떤 unquoting 또는 첫번째 언 이스케이프를합니까?

(?:\+|)

이상이 +는 정규화? 내 테스트에서, 빠른 표정으로 Nginx에 문서의 참조를 발견하지 않았지만

답변

1

, Nginx에는 '% 20'은 '\ s의'와 일치되도록 유니 코드로 HTTP 코드를 정규화 . '+'는 이미 유니 코드 형식이므로 정규화 할 필요가 없습니다.

예 : (?:(\s|\%20))

:

/route/the%20test 그러나 (?:\s)

과 일치해야합니다, 나는 안전 측의 의지와 같은 것을 사용하는 경향이

관련 문제