일부 IIS URL 다시 쓰기에서 사용할 정규식을 설계하고 있습니다. 의도는 URL을 캡처하는 것입니다 : 루트 디렉토리 (기간을 포함로 식별)왜이 정규 표현식이 작동하지 않습니까?
- 그냥 파일되지 않습니다, 그리고
- 는 쿼리 문자열을 포함하지 말고,
- 이에 속하지 않는 특정 하위 디렉토리의 설정, 특히 "계정"과 "공공"
나의 현재 정규식 보이는 같은 :
^(?!(Account)|(Public))([^./]+)(/[^?]*)?$
이
file.aspx
Account/otherfile.aspx
Public/otherfile.aspx
otherfolder1/otherfile.aspx?stuff=otherstuff
otherfolder2/otherfolder/otherfile.aspx
otherfolder3/
otherfolder4
내 정규식이 올바르게 처음 두 경우를 무시하지만 여전히 세 번째 경우에 일치한다 :의 테스트 세트와 RegexPal 사용. 여기에 미리보기가 잘못 되었나요?
이것은 ... 나를 위해 RegexPal에서 예상대로 작동하는 것 같습니다. 당신은 당신의 예제에서 마지막 3 개만을 일치시키고 싶습니다. – climbage
수정. 나를 위해 그것은 2, 3, 5, 6, 7을 맞 춥니 다. –
좋습니다. 정말 이상합니다. 내 실제 테스트에서 예제를 띄워 놓았습니다. 각 예제 사이에 빈 줄을 삽입했습니다. 빈 줄을 제거하면 원하는 결과를 얻을 수 있습니다. –