2008-11-06 4 views
0

mod_rewrite가있는 Apache가 있으며 악센트 부호가있는 URI가 입력 될 때마다 Apache에서 "페이지를 찾을 수 없습니다"오류를 표시합니다.UTF-8 URI가 아파치 및 mod_rewrite를 분해합니다.

URI가 있습니다 :/장소/태그/카페

내 페이지 인코딩이 UTF-8입니다. 내 데이터베이스 연결 & 테이블은 UTF-8입니다. 내 아파치 DefaultCharacterSet = UTF-8. 그렇습니다, 아파치는 언어 팩을 가지고 있습니다,하지만 나는 그들이 URI가 아니라 페이지 내용을 위해 존재한다고 믿습니다.

우리는 백분율 기호 및 HTML 엔티티로 인코딩 된 URL을 원하지 않으며 특수 문자를 제거하는 것은 현재 1 억 개의 데이터 행에서 실용적이지 않습니다.

도움을 주시면 감사하겠습니다.

+0

어떤 버전의 Apache입니까? 어떤 OS인가? 아파치의 액세스 로그에 무엇이 있습니까? –

답변

2

나는 아파치 재 작성 규칙이 잘못되었다. 나는 ([a-zA-Z0-9_-] ) UTF-8 문자는 -zA-Z의 일부가 아닙니다. 규칙을 다음과 같이 변경하십시오. () 즉, 모든 문자 (ASCII, UTF-8 또는 그 외)를 의미합니다. 정상적으로 작동하는 것으로 보입니다.

+0

안녕하세요, 정확한 문제에 직면하고 있습니다. 코드를 여기에 게시하십시오. – eben