На форуме официального сайта DNN натолкнулся на упоминание существования описания метода создания дружественного для поисковиков перенаправления адреса сайта на базе DNN. Это очень удобно, в частности, для создания автоматического перенаправления для всех запросов "<имя сайта>.<доменная зона>" на "www.<имя сайта>.<доменная зона>".
Попробовал, не сработало. Написал о проблеме в комментариях к статье, ошибка была выявлена и устранена.
В данный момент перенаправление активно на этом сайте - перенаправляет все запросы на www.dotnetnukeru.com.
Установка:
Заходим на сайт проекта в раздел для скачки, скачиваем "UrlRewritingNet.UrlRewrite 2.0 Binary", распаковываем, помещаем в папку "BIN" хоста.
В конфигурационный файл "web.config" добавляем 3 набора настроек (как это иллюстрирует пример конфигурационного файла в вышеупомянутой статье, показывающий реализацию перенаправления адреса без "www" в начале на адрес с "www" в начале):
В "<configSections>":
<!-- 1st UrlRewritingNet.UrlRewrite entry -->
<section name="urlrewritingnet" requirePermission ="false" type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter" />
В "<configuration>" (внесите изменения в адрес сайта; для создания нескольких перенаправлений давайте им различные имена параметра "name"):
<!-- 2nd UrlRewritingNet.UrlRewrite entry -->
<urlrewritingnet
rewriteOnlyVirtualUrls="true"
contextItemsPrefix="QueryString"
defaultPage = "default.aspx"
defaultProvider="RegEx"
xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
<rewrites>
<add name="KickIt" virtualUrl="^http\://mysite.com/(.*).aspx"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="http://www.mysite.com/$1.aspx"
redirect="Domain"
redirectMode="Permanent"
ignoreCase="true" />
</rewrites>
</urlrewritingnet>
В "<system.web>":
<httpModules>
<!-- 3rd UrlRewritingNet.UrlRewrite entry -->
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
<!-- add name="Authentication" type="DotNetNuke.HttpModules.AuthenticationModule, DotNetNuke.HttpModules.Authentication" / -->
<add name="Compression" type="DotNetNuke.HttpModules.Compression.HttpModule, DotNetNuke.HttpModules.Compression"/>
<add name="UrlRewrite" type="DotNetNuke.HttpModules.UrlRewriteModule, DotNetNuke.HttpModules.UrlRewrite"/>
<add name="Exception" type="DotNetNuke.HttpModules.ExceptionModule, DotNetNuke.HttpModules.Exception"/>
<add name="UsersOnline" type="DotNetNuke.HttpModules.UsersOnlineModule, DotNetNuke.HttpModules.UsersOnline"/>
<add name="DNNMembership" type="DotNetNuke.HttpModules.DNNMembershipModule, DotNetNuke.HttpModules.DNNMembership"/>
<add name="Personalization" type="DotNetNuke.HttpModules.PersonalizationModule, DotNetNuke.HttpModules.Personalization"/>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
Для ознакомления с иными возможностями утилиты читайте документацию сайта проекта.