У меня есть фрагмент html, который содержится в свойстве шаблонной страницы EPiServer, в этом html есть тег img
, в котором есть относительный URL-адрес.
Когда страница просматривается, я вижу, что атрибут src тега был изменен, чтобы иметь префикс /ProjectName/Templates/Pages/
.
Я понимаю, что это делается HtmlRewriteToExternal
, чтобы файлы изображений, которые хранятся вместе с шаблоном aspx (который действительно живет в Templates\Pages
), располагались правильно, однако изображение, которое должно быть частью html-фрагмента, в моем случае на самом деле хранится под PageFiles/nnn/
(где nnn на самом деле является PageFolderID
родительской страницы), и мне нужно каким-то образом отразить это в измененном html.
Я создал класс, наследуемый от FriendlyUrlRewriteProvider
, и зарегистрировал свой класс. Я могу отлаживать приложение и наблюдать, как запросы проходят через переопределенные методы, но я по-прежнему не вижу, где добавляется префикс, и не понимаю, как его изменить. Я могу изменить тег src на другой относительный путь в моем классе, но префикс все еще добавляется.
Я прочитал все, что мог найти в переписывании URL-адреса EPiServer, но не могу найти ничего, что намекало бы на то, куда добавляется этот префикс или как это остановить или изменить.
Вещи, которые я прочитал:
- http://blogs.interakting.co.uk/post/File-Extensions-and-URL-Rewriting-in-EPiServer.aspx
- http://blog.fredrikhaglund.se/blog/2008/05/07/disable-episerver-urlrewriter-interference/ (это может содержать ответ, который я ищу)
- http://labs.kaliko.com/2010/11/prevent-episerver-urlrewrite.html
- http://sourcecodebean.com/archives/episerver-friendly-urls-for-paginated-pages-and-why-the-asplinkbutton-must-die/510
- http://tedgustaf.com/en/blog/2008/7/create-a-custom-url-rewrite-provider-for-episerver/
- http://tedgustaf.com/en/blog/2011/4/publishing-plain-html-pages-in-episerver/
- http://sdk.episerver.com/library/cms5/Developers%20Guide/Friendly%20URL.htm
- http://sdk.episerver.com/library/cms6.1/html/T_EPiServer_Web_UrlRewriteModule.htm
- http://labs.episerver.com/en/Blogs/Ruwen/Dates/111218/112064/112154/
- http://world.episerver.com/Blogs/Magnus-Strale/Dates/2011/3/Do-we-really-need-yet-another-HTML-parser/
- http://world.episerver.com/Blogs/Yugeen-Klimenko/Dates/2011/6/How-EPiServer-URL-Rewriting-works/
- http://world.episerver.com/Modules/Forum/Pages/Thread.aspx?id=46869
Я открыт для совершенно разных решений того, чего я на самом деле пытаюсь достичь, а именно:
У меня есть несколько независимых наборов статических файлов html и связанных файлов изображений/css/js, которые я пытаюсь сохранить/опубликовать с помощью EPiServer. Структура каждого набора выглядит примерно так
- setfolder/
- htmlfileA.html
- htmlфайлB.html
- css/
- styles.css
- images/
- piccy1.png
- piccy2.png
- js/
- magic.js
Я решил, что должен создать страницу EPiServer для набора, а затем дочерние страницы для каждого html-файла, сохраняя html из файлов в свойстве дочерних страниц. В настоящее время я сохраняю связанные статические файлы в PageFiles соответствующей страницы setfolder, так как это кажется наиболее логически последовательным местом для их размещения.