Я размещаю сайт на winhost, и я использую URL-адрес IIS URLRewrite, чтобы позволить подпапкам на хосте отображаться в поддомены.Приложение Kentico в подпапке и IIS URLRewrite?
т.е.
~/
~/MyApp/
~/KenticoCMS/
с URL IIS Rewrite правил в корневом web.config для маршрутизации запросов для «mydomain.com 'для перехода к ~/KenticoCMS/и запросов на «myapp.mydomain.com» для перехода на ~/myapp/
В настоящее время, когда я отключу переписать, mydomain.com/KenticoCMS/ co mes up fine.
Однако, когда я включаю переписать, я получаю исключение:
[ArgumentOutOfRangeException: startIndex cannot be larger than length of string. Parameter name: startIndex]
System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy) +10698899
CMS.URLRewritingEngine.URLRewriter.CheckPermissions(String siteName, PageInfo pi, Boolean excludeSystem) +235
CMSAppBase.CheckSecurity() +775
CMSAppBase.CMSAcquireRequestState(Object sender, EventArgs e) +606
CMS.CMSHelper.CMSApplicationModule.app_AcquireRequestState(Object sender, EventArgs e) +22
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +136
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69
Кто-нибудь есть какие-либо предложения о том, как настроить сайт так, что он может работать в этой установке?
Edited добавить web.config из корневой папки с кодом переписывают:
я считаю, однако, проблема с приложением Kentico думая, что это находится в подпапке (что это), но не получая эту подпапку через URL.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<rewrite>
<rules>
<rule name="Rewrite to Kentico" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^mydomain.com$" />
</conditions>
<action type="Rewrite" url="KenticoCMS/{R:1}" />
</rule>
<rule name="Rewrite to Myapp" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^myapp.mydomain.com$" />
</conditions>
<action type="Rewrite" url="myapp/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Не могли бы вы показать свой код перезаписи? – Jono
@JonoRR Я отредактировал это сообщение, чтобы включить правила перезаписи –