문제

나는 mod_rewrite와 함께 Apache를 가지고 있으며, 그 안에 악센트가있는 URI에 들어갈 때마다 Apache는 "페이지를 찾지 못한"오류를 제공합니다.

URI는 :/장소/태그/카페입니다.

내 페이지 인코딩은 UTF-8입니다. 내 데이터베이스 연결 및 테이블은 UTF-8입니다. 내 apache defaultcharacterset = utf-8입니다. 예, Apache에는 언어 팩이 있지만 Uris가 아닌 페이지 콘텐츠를 위해 있다고 생각합니다.

우리는 URL을 퍼센트 부호와 HTML 엔티티로 인코딩하지 않기를 원하며, 1 억 행의 데이터에서 현재 특수 문자를 제거하는 것이 실용적이지 않습니다.

모든 도움은 대단히 감사하겠습니다.

도움이 되었습니까?

해결책

아파치 재 작성 규칙이 나쁜 것으로 밝혀졌습니다. 나는 사용하고 있었다 : ([a-za-z0-9_-) UTF-8 문자는 A-ZA-Z의 일부가 아닙니다. 규칙을 다음과 같이 변경하십시오.) 이는 모든 문자 (ASCII, UTF-8 또는 OTHEWISE)를 의미합니다. 잘 작동하는 것 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top