2011-02-16 1 views
1

[전체 공개 :. 여기에 Serverfault 사이의 크로스 후, 나는 관객을 (서버 관리자 & DEVS) 믿기 때문에 별도로 모두에게 질문을 보증 할만큼 별개]Apache mod_proxy_html 대용 암호 : regex match의 일부를 다시 사용하는 방법? (정규식 변수?)

안녕 전체,

Apache에서 고유 한 URL 재 작성 상황이 있습니다.

나는

"\u002f[X]" 

또는

로 시작하는 URL을 할 수 있어야 X는 일부 URL의 나머지 부분을, 그리고 텍스트

"\u002fmeis2\u002f[X] 
에게 대체
'\u002f[X]" 

Regex가 Apache에서 어떻게 작동하는지 잘 모르겠다. Perl 5와 같다고 생각한다. -하지만 그때에도 나는 이것이 어떻게 이루어질 지 조금은 확신 할 수 없다. 내 직감은 Regex 그룹화와 관련이 있고 $ 1을 사용하여 변수를 풀어 내야한다는 것입니다. 그러나 저는 Apache에서이 프로세스에 대해 거의 익숙하지 않습니다.

누군가가 도와 줄 수 있습니다 - 감사합니다!

답변

1

당신 말이 맞습니다. 재사용 할 텍스트를 괄호로 그룹화하고 대체시 $1을 사용하십시오.

RewriteEngine On 
RewriteRule ^\u002f(.*) /\u002fmeis2\u002f$1 

(I mod_rewrite를 유니 코드 이스케이프를 처리하지 확신하지만 귀하의 질문에서 그렇게 보인다.)

+0

응답 해 주셔서 감사합니다 다음의 .htaccess 파일을 사용! 우리는 실제로 mod_proxy_html을 Apache에서 역방향 프록시 구성과 함께 사용하여 이러한 방식으로 시도합니다. Substitute 명령에서도 정규 표현식이 동일하게 작동해야합니까? 명확히하기 위해 URL을 다시 쓰는 것이 아니라 페이지 내에 링크 텍스트를 다시 쓰고 있습니다 (mod_rewrite가 제한적이라고 생각하는 것입니까?) mod_proxy_html과 ProxyHTMLEnable 및 ProxyHTMLExtended를 모두 "on ". – SeanKilleen

+0

@goober : 죄송합니다. mod-proxy 태그를 알지 못했습니다. 나는 그 모듈에 관해서 지금하지 않는다. (하지만 정규식은 많이 다를 수는 없습니다.) – Tim

+0

문자열 다음의 문자 만 찾고 있음을 알게되었습니다. 이 경우에는^\ u002f (.)로 업데이트하는 것이 트릭입니까? – SeanKilleen

관련 문제