"~" превращается в "%7E" в Sitecore?

Используя Sitecore, я делаю что-то вроде настройки URL медиа.
когда в PageEditor В режиме, вы, ребята, когда-нибудь встречали проблему "~"?

например, проверьте источник страницы в IE(или Chrome, Firefox), я ожидал что-то вроде,

<img src="~/media/twitter.gif" alt="Twitter" width="100" height="22" />

но придумал это,

<img src="%7E/media/twitter.gif" alt="Twitter" width="100" height="22" />

Я проверил свой код, я не думаю, что сделал что-то, что изменило бы '~' на '%7E'. Когда-нибудь встречал что-то подобное, если у вас есть, пожалуйста, дайте мне знать, и как я могу это решить. Спасибо

3 ответа

%7E это кодировка URL для ~, HTML, использующий закодированное значение, вполне подходит.

Если вы пытаетесь использовать ~ чтобы попасть в домашнюю директорию пользователя (я подозреваю, что вы), не делайте этого. Узнайте о веб-документации, а также об относительных и абсолютных путях, а затем выясните, какой путь вы хотите использовать.

Как уже было сказано ранее, %7E это кодировка URL ~ условное обозначение.

У нас была похожая проблема при копировании ссылок в редакторе форматированного текста. В широком смысле, кажется, что происходит то, что при копировании вывода HTML в редакторе форматированного текста мы уже работаем в браузере, который отображает исходный код HTML. Например, ссылки разрешаются браузером (поэтому, если автор вошел в Sitecore для редактирования для определенного домена хоста, но работает на другом домене хоста, ссылки преобразуются в домен, в который они вошли).

У нас был конкретный %7E замена ~ проблема при этом тоже.

Вы не даете мне достаточно подробностей, чтобы быть уверенным, что это именно то, что происходит в вашем случае, но это кажется вполне вероятным. Если вы вставляете копию в HTML, то вы не получаете доступ к необработанным строкам.

РЕДАКТИРОВАТЬ: Это, вероятно, связано с известной ошибкой Sitecore с добавлением информации о пути для редактора форматированного текста к ссылке при вставке копии. У Sitecore есть решение для этого здесь:

http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%206/ReleaseNotes/KnownIssues%20Recommended/Copying%20and%20pasting%20link%20in%20rt%20fields%20may%20break%20the%20link.aspx

~ является ярлыком для доступа к вашему домашнему каталогу (или, если он передан приложению, работающему от имени другого пользователя, к домашнему каталогу этого пользователя). Поэтому обычно не кошерно вести URL с ~,

С другой стороны, браузер преобразует фрагменты, закодированные в URL, в их эквивалент, если только он не находится в строке запроса. Например:

http://en.wikipedia.org/wiki/Sir%20Mix-a-Lot

Будем разрешать:

http://en.wikipedia.org/wiki/Sir Mix-a-Lot

(который MediaWiki далее разрешает:

http://en.wikipedia.org/wiki/Sir_Mix-a-Lot

Но если вы пытаетесь получить доступ к пути к файлу вне webroot, вы, скорее всего, получите ошибки, особенно на стороне клиента. А если нет, то, скорее всего, с тобой поговорит, если тебя поймают.

Другие вопросы по тегам