====== Механизм автозамены URL ====== Смысл данного механизма в том, чтобы обеспечить прозрачную замену ссылок при изменении URL сайта. Реализуется это за счет того, что в базе сохраняются не сами ссылки, а плейсхолдеры, которые при выводе на сайт заменяются на нужный URL. Рассмотрим работу механизма более подробно: - Пользователь редактирует поле типа Визуальный редактор. При сохранении в базу следующие ссылки (части ссылок) будут заменены: * http:// + **DNS** + **URL загрузки** - на плейсхолдер <%=upload_url%> * http:// + **DNS** + **Виртуальный путь** в live - на плейсхолдер <%=site_url%> * http:// + **Stage DNS** + **Виртуальный путь** в stage - на плейсхолдер <%=site_url%> - При выводе информации на сайт плейсхолдеры будут заменены: * <%=upload_url%> заменяется на поле **URL загрузки** из **Свойств сайта** Если установлена галочка **Использовать абсолютный URL закачки**, то к результату добавляется **Префикс URL закачки**. * <%=site_url%> заменяется на одно из полей **Виртуальный путь** из **Свойств сайта** (live или stage - в зависимости от режима, в котором был собран сайт). В случае использования параметра //web.config// **UseAbsoluteSiteUrl** и его значении, равном 1 к результату добавится http:// + **DNS** либо http:// + **Stage DNS** в зависимости от режима, в котором был собран сайт Обратная замена плейсхолдеров на URL происходит не автоматически, а только при вызове функций QP7 API [[api:qpage:field#Field]] (для вывода информации с использованием Publishing Container) или [[api:qpage:field#FormatField]] (замена в произвольной строке), а также при [[:developer:linq|использовании LINQ-to-SQL классов]]. Таким образом, при сохранении информации Визуального редактора происходит замена абсолютных URL на плейсхолдеры, а при выводе информации на сайт плейсхолдеры заменяются на относительные URL. Обратная замена на абсолютные URL возможна, но для этого для //site_url// нужно установить в конфигурационном файле параметр [[developer:web_config#UseAbsoluteSiteUrl|]] в значение 1, для //upload_url// -- задать в [[:site_configuration|настройках сайта]] параметр **Префикс URL закачки**.