& amp; 사이트 맵 링크에서 정확합니까?


17

간단한 질문, 나는 단지 확인을 요구하고 있습니다.

Google 사이트 맵 생성기는 다음과 같이 작성된 링크를 사용하여 sitemap.txt 파일을 생성했습니다.

http://www.domain.com/category.htm?name=some-name&cat_id=8

&대신이 링크에서 를 사용하는 것이 맞 &습니까? 아니면 사이트 맵 생성기에서 발생한 오류일까요?

감사.

답변:


11

맞아요. 앰퍼샌드 ( &) 의 HTML 엔터티이며 올바르게 인코딩 된 URL에서 적절한 문자 표현입니다. 앰퍼샌드 ( &) 및뿐만 아니라 <>XML과 HTML 및 필요로하는 특수 문자는 특수 문자 엔티티를 사용하여 표시 할 수 있습니다.


당신은 확실 모든 앰퍼샌드는 엔티티 이스케이프해야? 나는 그것이 쿼리 문자열에서 매개 변수를 분리하는 사람들만을위한 것이라고 생각했습니다. 필자는 항상 파일 또는 폴더 이름 또는 퍼센트 인코딩 ( %26)을 사용하여 매개 변수 자체에서 앰퍼샌드를 이스케이프 처리했습니다 . 예 :http://foo/a%26r.php?foo=1&amp;genre=r%26b
Lèse majesté

퍼센트 인코딩이 유효한지 확실하지 않으므로 확실하게 말할 수 없습니다.
John Conde

@ 왕실 - 그것은 당신이 사용하지 않는, 탈출 할 수있는 XML 문서이기 때문에 CDATA노드를 (단지 bdadam 같은 것을 말한 것으로 나타났습니다하지만, 훨씬 이전에 나보다)
마크 헨더슨

>XML로 엔터티 인코딩 될 필요는 없습니다.
MrWhite

6

Sitemap 파일은 UTF-8로 인코딩되어야합니다 (일반적으로 파일을 저장할 때 수행 할 수 있음). 모든 XML 파일과 마찬가지로 모든 데이터 값 (URL 포함)은 문자에 대해 엔티티 이스케이프 코드를 사용해야합니다.

이것은 도움이 될 수 있습니다, http://sitemaps.org/protocol.php


불행히도,이 링크는 이제 죽었습니다.
mtness


2

Google은 URL에 & 문자가 있으면 사이트 맵이 깨진 것으로 거부합니다. &로 대체하면 & amp;

그러나 나중에 Google 웹 마스터 도구에서 크롤링 오류 목록을 확인하면 사이트 맵 파일의 URL이 & amp; 대신에 &.

따라서 올바른 해결책은 &를 포함하지 않도록 URL을 변경하는 것입니다. 또는 Google에 버그로 신고하십시오.


1

URL 인코딩과 XML 엔터티 인코딩은 동일하지 않습니다. &와 같은 URL의 특수 문자를 바꾸려면 URL 인코딩이 필요합니다. XML 엔터티 인코딩은 특수 문자를 XML (XHTML)로 인코딩하기위한 것입니다. 즉, XML (또는 XHTML) 파일에 URL이 있고이 URL에 일부 & 문자가 포함되어 있으면 & amp;로 엔티티 인코딩해야합니다. 따라서 sitemap.xml에는 Marco Demaio의 질문과 같은 URL이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.