2011-02-12 2 views
1

URL을 mod_rewrite로 다시 쓰려고합니다. www.domain.com/page : 문제mod_rewrite로 다시 쓸 URL에 더하기 기호 (+ 리터럴) .. 어떻게?

현재 URL의 ... 다시 작성해야하는 URL이 문자 + (플러스) 기호를 contans, 그 또한 내가 URL에서 얻을 필요가 바르에 대한 구분 기호입니다입니다

새 URL의 : domain.com/pages/Plumbers/London/

/756/더/배관공 + 런던/

나는 부분 "배관공 + 런던 '으로 간주하고 다시 작성하지 않으려는

시도했지만 작동하지 않음 :

RewriteRule 페이지/(. )/아니오/(.) \ + (. *)// pages/$ 2/$ 3/[R = 301, L]

도움이 되었으면 도움이 될 것입니다. 미리 감사드립니다.

+0

가 있는가 구분 기호를 변경하는 방법은 무엇입니까? '+'로 인코딩 된 빈 공간을 변경할 수는 없지만 다른 문자로 구분 기호를 변경할 수 있으면 문제를 해결하기가 훨씬 쉽습니다. –

답변

2

구분 기호가 변경됩니다.

아, 단순한 실수입니다.

점 (.)은 전체 URI와 일치하거나 단일 문자와 일치합니다. 로 변경합니다 :

RewriteRule page/(.*)/no/(.*)\+(.*)/ /pages/$2/$3 [R=301,L] 

(내 정규식은 약간 녹슨이지만, 난 그 트릭을 할 것입니다 생각합니다.) 는 아마도 비 욕심 연산자를 사용 : (. *?)

+0

위대한 작품처럼 매력! 고마워요 !! – quokka

관련 문제