2012-06-12 7 views
1

사용자가 "/" 대신 "//"을 누르는 경우 일부 URL에 대해 apache config의 regex에서 처리해야합니다. 예를 들어 - 당신은 내가이 완벽하게 작동하는지 확인하기 위해 아파치 설정에서 사용되어야 하는지를 정규식에 대한 몇 가지 빛을 던져 주시겠습니까 아파치 설정 파일의 Regex 표현

"http://www.mysite.com//home/index.jsp" URL

리디렉션해야 또는 "http://www.mysite.com/home/index.jsp"

으로 처리?

+0

많은 사용자가 직접 URL을 입력하고 싶습니까? (참으로 호기심이없고, 냉소적이 아니려고 노력한다.) 그것은 하이퍼 미디어에 대한 것일 것이다 ... – Cameron

답변

1

this answer에서 촬영 :

# remove multiple slashes anywhere in url 
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$ 
RewriteRule . %1/%2 [R=301,L] 

이 영구적으로 옮겼 HTTP (301)를 발행합니다 그래서 어떤 두 배 리디렉션 :

당신이 mod_rewrite를 아파치를 사용하는 경우는, 아주 간단한 수정이 슬래시는 URL에서 제거됩니다.

+0

고마워. Joey, 그들은 이미 내 httpd.conf에 언급 된 다시 쓰기 규칙과 조건이다. 상태/원칙적으로 - (. *).]..
상속한다 RewriteEngine

한다 RewriteCond % {HTTP_HOST}^domainname.project.net $ [NC]

RewriteRule의 (^/JSP * $으로

RewriteOptions에서)/project/% 1 $ 1 [PT]

## URL의 여러 부분을 제거하십시오.

RewriteCond % {REQUEST_URI}^(. *) // (. *) $

RewriteRule. % 1/% 2 [R = 301, L]
하지만 작동하지 않습니다!
내가 잘못한 일이 있으면 알려주실 수 있습니까? – Achilles

+0

당신이 잘못하고있는 것은 코멘트에 코드를 게시하는 것입니다. 솔직히 그걸 읽으려고도하지 않습니다. 이 질문과 관련이있는 경우 질문에 맞게 수정하십시오. 그것이 완전히 다른 문제라면, 새로운 질문을하십시오. – Joey