2011-02-17 1 views
0

나는 웹 소프트웨어가이URL에서 이중 슬래시를 필터링 할 수있는 Apache 설정이 있습니까? 내가 좋아하는 URL을 가질 필요가 어디

다음

http://site.com/page/var1/val1/var2//var3/val3

그때 전달 것과 $ _GET 및 구문 분석 PHP 파일로 리디렉션, htaccess로 이러한 URL을 잡을 모든 주요 애플 리케이션. 이 이중 슬래시가 중요합니다. 즉, var2가 설정되어 있고 빈 값, 즉 $ var2! == NULL을 포함하고 있음을 의미합니다. 이 $로 구문 분석하기 때문에 예상하지만, 일부 서버에이 URL이 자동으로

http://site.com/page/var1/val1/var2/var3/val3

로 변환됩니다하지 않는 한 작동 일부 서버에

은 물론 모든 것을 나누기 var1 = 'val1', $ var2 = 'var3', $ val3 = ''.

불행히도 이미 그 서버 중 하나에 대한 액세스 권한이 없으며 Apache인지 여부를 100 % 기억하지 못합니다.하지만 대부분의 시간 동안 서버를 처리하기 때문에 Apache라고 가정합시다.

제어 할 수있는 구성이있을 수 있습니까? 그것은 더블 슬래시의 청소를 켜거나 끕니다.

+0

조작하기 위해 조작 된 URI에 의존하지 않는 URL 스키마를 제안해야합니다. –

+0

이중 슬래시가 잘못된 URL로 계산됩니까? – Eugene

답변

1

Apache는 빈 경로 세그먼트를 파일 시스템에 매핑하기 전에 이러한 빈 경로 세그먼트를 제거합니다. mod_rewrite를 원래 요청 된 URI를 얻으려면, %{THE_REQUEST}의 요청 줄을 확인하십시오

RewriteCond %{THE_REQUEST} ^GET\ (/[^?\ ]*) 
RewriteRule … 

그런 다음 %1RewriteCond의 경기를 참조 할 수 있습니다.

관련 문제