2013-11-12 2 views
2

У меня есть веб-сайт, разработанного в C# с Sitecore, и у меня есть этот URL:Что делает ~ означает в URL

http://dev.take.com.web.unity.internal.com/~/media/group/images/media/content/19590.ashx?h=180&mh=219&mw=514&w=5120

Для некоторых изображений, я не понимаю этот URL и то, что (~) означает символ.

+0

Никто, я не знаю ни о чем, что –

+3

http://en.wikipedia.org/wiki/Home_directory – OldProgrammer

+2

http://stackoverflow.com/questions/3077558/use-of-tilde-in-asp-net-path «Тильда относится к корневому каталогу приложения» –

ответ

7

В Sitecore, ~/media/ является URL префикс, который запускает обработчик средств массовой информации, что, в свою очередь, говорит о том, что Sitecore запрос для элемента библиотеки мультимедиа. Эти запросы обрабатываются иначе, чем запрос для элемента под корнем сайта.

Префикс определяется в sitecore/customHandlers разделе web.config:

<customHandlers> 
    <handler trigger="~/media/" handler="sitecore_media.ashx" /> 
</customHandlers> 

Если вы решили изменить это значение, вам также необходимо также обновить следующие настройки таким образом, чтобы новые ссылки получить сгенерированные с новый префикс:

<setting name="Media.MediaLinkPrefix" value="" /> 

Тем не менее, если у вас есть уже существующие ссылки на элементы средств массовой информации, которые были созданы в текстовом редакторе Rich, это могло бы быть умнее добавить дополнительный префикс, так что префикс по умолчанию ~/media/ остается в силе. Чтобы настроить дополнительные префиксы, добавьте их в <mediaPrefixes> разделе web.config, как показано ниже:

<!-- MEDIA REQUEST PREFIXES 
    Allows you to configure additional media prefixes (in addition to the prefix defined by the Media.MediaLinkPrefix setting) 
    The prefixes are used by Sitecore to recognize media URLs. 
    Notice: For each custom media prefix, you must also add a corresponding entry to the <customHandlers> section 
--> 
<mediaPrefixes> 
    <!-- Example 
    <prefix value="-/media"/> 
    --> 
</mediaPrefixes> 
+0

+1. Отличный ответ. – jammykam

+0

+1. Это солидно! –

+0

Отлично, спасибо Дерек –

1

Specification of the URI: RFC 3986

reserved = gen-delims/sub-delims 
gen-delims = ":"/"/"/"?"/"#"/"["/"]"/"@" 
sub-delims = "!"/"$"/"&"/"'"/"("/")" 
       /"*"/"+"/","/";"/"=" 

Это не жгуты списка зарезервированных символов, а это означает, что не делает ничего особенного. Обычно это указание каталога.

2.3. Незарезервированные символы

Символы, разрешенные в URI, но не имеющие зарезервированных целей , называются безоговорочными. К ним относятся прописные и строчные буквы , десятичные цифры, дефис, период, подчеркивание и тильда.

unreserved = ALPHA/DIGIT/"-"/"."/"_"/"~" 
Смежные вопросы