나는 어떤처럼 보이는 문자열이 다음의 nginx 정규식 : 구분자가있는 경우 감지
rewrite ^/tag/example/(\d*)/(.*) /example/$1/$2;
:
1) /tag/example/123
2) /tag/example/123/
3) /tag/example/123/1v1
4) /tag/example/123/1v1/yes/no/maybe
내가이 모양이 문자열의 nginx에 재 작성을하고있는 중이 야
$ uri는 문자열 1의 경우/example/123처럼 보이게해야합니다./example/123/1v1 문자열 3). 등등 ...
이 재 작성을 사용하면 나머지 문자열이 $ 1이 123과 $ 2가되어야합니다. 123 (문자열 1) 뒤에 아무 것도 없으면 null이되도록 $ 2가 필요합니다. 이 정규식은 2), 3) 및 4)에서 작동하지만 1)에서는 작동하지 않습니다.
1) Aborts
2) $1 = 123, $2 = NULL
3) $1 = 123, $2 = 1v1
4) $1 = 123, $2 = 1v1/yes/no/maybe
어떻게이 모든 문자열 작업을 얻을 수 있습니다 : 1) /이 123
출력 후 없기 때문에 재 작성이 중단 무엇입니까?
각 URL의 시작 부분에서'/ tag'를 제거하고 싶을뿐입니다. 나는'nginx'에 익숙하지 않지만,'rewrite ^/tag /(.*)/$ 1'이 효과가있는 것처럼 보입니다. – chepner
불행히도 나머지 부분과 숫자 (123)를 구분할 수 있어야합니다. 따라서 $ 1은 숫자 만 가지고 나머지는 $ 2에 저장됩니다. – Zonxwedop