programing

Wordpress/Apache - 이미지 파일 이름에 유니코드 문자가 포함된 404 오류

kingscode 2023. 3. 22. 22:36
반응형

Wordpress/Apache - 이미지 파일 이름에 유니코드 문자가 포함된 404 오류

최근 웹 사이트를 새 서버로 옮겼는데 파일 이름에 유니코드 문자가 포함된 업로드된 이미지에서 404 오류가 발생하는 이상한 문제가 발생했습니다.

ssh/FTP 를 사용하면, 파일이 확실히 거기에 있는 것을 알 수 있습니다.

예를 들어 다음과 같습니다.

http://sjofasting.no/project/adnoy

어떤 이미지도 작동하지 않습니다.

코드:

<img class='image-display' title='' src='http://sjofasting.no/wp/wp-content/uploads/2012/03/ådnøy_1_2.jpg' width='685' height='484'/>

SSH:

-rw-r--r--- 1 xxxxxxxxxxxxxxx836813 8월 3일 16:12 ödnöy_1_2.jpg

또, 이상한 것은, 디렉토리로 이동하면, 이미지를 클릭할 수도 있고, 다음과 같이 동작합니다.

http://sjofasting.no/wp/wp-content/uploads/2012/03/

'dndnöy_1_2.jpg'를 클릭하면 작동합니다.

어쩐지 워드프레스가 생성되고 있다.

http://sjofasting.no/wp/wp-content/uploads/2012/03/†y_1_2.jpg

직접 폴더 브라우즈에서 복사하면

http://sjofasting.no/wp/wp-content/uploads/2012/03/a%CC%8Adn%C3%B8y_1_2.jpg

무슨 일이야?


편집:

워드프레스 소스에서 이미지 URL을 복사하면 다음과 같이 표시됩니다.

http://sjofasting.no/wp/wp-content/uploads/2011/11/Bore-Strand-Hotellg%C3%A5rd-12.jpg

Apache 브라우저에서 복사하면 다음과 같이 표시됩니다.

http://sjofasting.no/wp/wp-content/uploads/2011/11/Bore-Strand-Hotellga%cc%8ard-12.jpg

이 불일치의 원인: %C3%A5와 %cc%8

??

Unicode 정규화

0xC3 0xA5【U+00E5 a-with-ring】 UTF-8을 사용합니다.

0xCC 0x8A0 U+030A 8 UTF-8 。

형식 U+0035는 a링의 표기법입니다.aU+030A 뒤에 오는 문자는 분해된(정규 양식 D) 방식입니다. å »å 다를 수 -글꼴 렌더링에 따라 약간 다를 수 있습니다. -글꼴 렌더링에 따라 약간 다를 수 있습니다.

일반적으로 어떤 파일 시스템을 사용하든 상관없습니다. 왜냐하면 합리적인 파일 시스템은 파일을 그대로 두기 때문입니다.「 」라고 하는 .[char U+00E5].txt )å.txtWindows ® Linux windows windows windows windows windows 。

반면에 맥은 미친놈이다.파일 시스템은 일반 형식 D를 선호하며 사용자가 전달한 모든 구성 문자가 분해된 문자로 변환됩니다.을 「」로 는,[char U+00E5].txt 디렉토리가 나열되면 이 '아까부터'로 되어 a[char U+030A].txt. 파일에는 계속 액세스 할 수 있습니다.[char U+00E5].txtMac에서는 해당 입력을 검색하기 전에 일반 양식 D로 변환하지만 입력한 것과 동일한 파일 이름을 문자 시퀀스로 복구할 수 없습니다. 손실 변환입니다.

Mac에 파일을 저장한 후 파일 시스템으로 전송하면[char U+00E5].txt그리고.a[char U+030A].txt다른 파일을 참조하면 링크가 끊어집니다.

URL의 일반 양식 D 버전을 가리키도록 페이지를 업데이트하거나 Unicode 문자를 심하게 망가지지 않는 파일 시스템에서 파일을 다시 업로드합니다.

다른 사고방식으로 인해 이상한 상호운용성 문제가 발생합니다.

언급URL : https://stackoverflow.com/questions/12200901/wordpress-apache-404-error-with-unicode-characters-in-image-filenames

반응형