2016-10-12 7 views
0

URL 재 작성을 위해 정규식을 테스트 해본 결과 2 가지가 있지만 그 중 어떤 것이 더 좋은지 궁금합니다. 또는 둘 다 나쁜 경우 리디렉션 요구 사항을 처리하는 가장 좋은 방법입니다.Regex URL Rewrites

본질적으로 공통 루트를 가진 경로가있는 모든 URL을 리디렉션하려고합니다.

예 :

^/pages/enteral-feeding-pump/?(?:.*)

^/pages/enteral-feeding-pump/?(?:[^\/]+\/?)*$

내가 모두 테스트, 그들은 작동하지만 솔직히 I :

/pages/enteral-feeding-pump 
/pages/enteral-feeding-pump/ 
/pages/enteral-feeding-pump/1234 
/pages/enteral-feeding-pump/1234/ 
/pages/enteral-feeding-pump/1234/1234 
/pages/enteral-feeding-pump/1234/1234/ 

이 내가 가진이있다 어느 것이 가장 좋은 경로인지 모릅니다.

+1

확실하지 어떤 질문이지만, 나는 정규 표현식에 발생하는 문제를 문의하고 싶습니다. 양쪽 모두'/ pages/enteral-feeding-pump1234/24'와 일치합니다. 나머지 코어와 동일한 핵심 경로가 없으므로 원하는 바가 아님을 가정합니다. 이 정규식은'^ \/pages \/enteral-feeding-pump (? : $ | \/(? :. +)?)'문제를 해결할 것입니다. [Regex 예제] (https://regex101.com/r/kzLWnW/1) – Nathan

+0

같은 문제를 발견하고 그것을 알아 내려고했습니다. 정규 표현식을 주셔서 감사합니다, 빠른 테스트는 그것이 작동을 보여줍니다. 질문에 대한 답변으로 설정하면이를 허용 된 것으로 표시합니다. 감사! – darrinb

답변

0

정규식에 약간의 문제가 있습니다. 이것이 당신에게 얼마나 큰 영향을 미치는지 확신 할 수 없지만, 알고있을 가치가 있습니다.

모두 정규 표현식에 다음과 같은 URL을 일치합니다 : 그것은 동일한 핵심 경로를 가지고 있지 않기 때문에, 나는 당신이에 대해 일치하지 것이라고 믿고있어

/pages/enteral-feeding-pump1234/24

. 그래서 아래에서, 당신이 제공 한 Regexes에 약간의 수정을가했습니다.

^\/pages\/enteral-feeding-pump(?:$|\/(?:.+)?)

나는 당신이 제공 한 사람 변경 유일한 것은 내가 직접 enteral-feeding-pump 후 라인 ($)의 / 또는 끝을 요구하고 있습니다입니다.

Regex Example