На самом деле проблема была исправлена только в DNN 5.6.2, которая в настоящее время находится в бета-версии. Версия 5.6.1 все еще имела эту проблему. Существует обходной путь, который работает в любой ситуации: добавьте абсолютный URL в вашу таблицу PortalAlias. Вы должны будете сделать это вручную, потому что вкладка Portals не позволяет использовать псевдонимы этого корня на том же уровне, что и существующий псевдоним.
Другое решение , если вы не можете дождаться новой версии DNN, включает добавление следующего кода к RequestFilterModule.vb
и UrlRewriteModule.vb
, который восстанавливает существующее поведение. Это не то исправление, которое применяется к DNN 5.6.2, потому что программисты считают, что слишком сложно влиять на производительность, чтобы проверять наличие файлов при каждом посещении (что я считаю странным, так как несколько файлов в любом случае затрагиваются при каждом посещении, основной DNN-кеш использует файловое кеширование, и, как правило, доступ к базе данных медленнее, чем к файлу):
'Add this to the RequestFilterModule.vb (line #59)'
'and to UrlRewriteModule.vb (line #325)'
If File.Exists(app.Server.MapPath(Request.Url.LocalPath)) And Not _
Request.Url.LocalPath.ToLower.EndsWith(glbDefaultPage.ToLower) Then
'exit early when path is an existing path'
Exit Sub
End If
Очевидно, что если вы примените это исправление, вы должны быть осторожны со следующим обновлением DNN.