Sitemap.xml генерирует 404 для URL-адресов с одинарными кавычками и запятыми

Я постараюсь сделать это как можно более кратким: когда речь идет о одинарных кавычках и запятых в URL-адресе, я проклят, если я буду кодировать и проклят, если не буду.

Если оставить одинарную цитату, незакодированную в файле sitemap.xml loc, некоторые искатели (в частности, Bing) усекают URL-адрес вплоть до точки непосредственно перед одной цитатой.

Если я кодирую одиночную кавычку как ' в соответствии с данное руководство , некоторые сканеры обрезают URL до амперсанда и включают его. Бинг использовал это, пока я не связался с их технической поддержкой.

Однако теперь, когда мой sitemap.xml является «правильным» в соответствии с руководством, Google Webmaster показывает crap-tonne of 404's - большинство из которых показывают, что искатель Google использует XML-кодированную форму URL-адреса (например, http://example.com/someone'-lucky-day) вместо декодированной формы (http://example.com/someone's-lucky-day). Другие 404-х URL-адреса содержат запятые (например, http://example.com/someone,-really-hates-me становится http://example.com/someone).

Одна вещь, которую нужно отметить: всякий раз, когда мое веб-приложение вызывает ошибку сервера 500, я получаю по электронной почте копию ошибки. В электронном письме указан URL-адрес, предпринятый посетителем (или искателем в этом случае). После переключения my sitemap.xml для кодирования одинарных кавычек я больше не получал этих отчетов об ошибках; на данный момент это просто жалоба Google Webmaster.

2 голоса | спросил JakeTheSnake 17 FebruaryEurope/MoscowbTue, 17 Feb 2015 05:08:15 +0300000000amTue, 17 Feb 2015 05:08:15 +030015 2015, 05:08:15

1 ответ


1

HTML-кодирование на страницах не может использоваться как часть URL-адреса.

Вы должны использовать специальное кодирование символов для символов, которые могли бы повредить URL-адрес.

Для кодировки вы начинаете символ с символом процента, а затем шестнадцатеричным кодом, который, я думаю, означает код ascii фактического символа, который вы пытаетесь использовать.

Перейдите на эту страницу и используйте формы и заполните интересующий ваш URL, чтобы узнать, как они должны быть закодированы.

http://www.w3schools.com/tags/ref_urlencode.asp

ответил Mike 17 FebruaryEurope/MoscowbTue, 17 Feb 2015 07:18:46 +0300000000amTue, 17 Feb 2015 07:18:46 +030015 2015, 07:18:46

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132