2013-12-08 1 views
1

내가 요청에서 .html 중에서 확장 스트립과 후행으로 대체 다음의 mod_rewrite 규칙은/내가 발견 한은 mod_rewrite를 재 인코딩 쿼리 문자열 매개 변수

# Handle requests to pages ending with .html 
RewriteCond %{REQUEST_URI} .*.html$ 
RewriteRule (.*).html$ $1/ [R=301,QSA,L] 

내 쿼리 PARAM은 공백이 포함 된 경우 있음 이미 인코딩 된 경우 리디렉션이 다시 인코딩됩니다. 따라서 "/search-results.html?q=some%20string"에 대한 초기 요청은 "/ search-results /? q = some % 2520string"으로 다시 작성됩니다.

다른 매개 변수가 있습니까? 이 재 인코딩을 방지하기 위해 mod_rewrite에?

+0

http://httpd.apache.org/docs/current/rewrite/flags.html – Sumurai8

+0

점 리터럴과 일치 시키려면 정규 표현식에'.'이 있어야하며'.'이 없어야합니다. . 그것은 비록 문제를 일으키지 않습니다. – Sumurai8

답변

1

중복 인코딩을 방지하려면 [NE] 플래그를 사용하십시오.