DNN UrlRewrite(“ DotNetNuke.HttpModules.UrlRewriteModule,DotNetNuke.HttpModules”)未在web.config上运行自定义重写规则

问题描述 投票:1回答:1

在由Azure应用服务托管的DNN网站上,我们在web.config上设置了以下自定义规则:

<rewrite>
      <rules>
               <rule name="Proxy" stopProcessing="true">
                    <match url="^base3/?(.*)" />
                    <action type="Rewrite" url="https://(a website hosted in aws s3)/tx/{R:1}" />
                    <serverVariables>
                        <set name="HTTP_ACCEPT_ENCODING" value="" />
                        <set name="HTTP_X_ORIGINAL_HOST" value="{HTTP_HOST}" />
                        <set name="HTTP_X_Blog" value="1" />
                    </serverVariables>
                </rule> 

      </rules>

我们还在​​applicationHost.xdt中设置了以下内容:>

<?xml version="1.0"?>  
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">  
    <system.webServer>  
        <proxy xdt:Transform="InsertIfMissing" enabled="true" preserveHostHeader="false" reverseRewriteHostInResponseHeaders="false" />    
        <rewrite>
            <allowedServerVariables>
                <add name="HTTP_X_ORIGINAL_HOST" xdt:Transform="Insert" xdt:Locator="Match(name)"/>
                <add name="HTTP_X_UNPROXIED_URL" xdt:Transform="Insert" xdt:Locator="Match(name)"/>                
                <add name="HTTP_ACCEPT_ENCODING" xdt:Transform="Insert" xdt:Locator="Match(name)"/>
                <add name="HTTP_X_ORIGINAL_ACCEPT_ENCODING" xdt:Transform="Insert" xdt:Locator="Match(name)"/>

                <add name="HTTP_X_Mischief" xdt:Transform="Insert" xdt:Locator="Match(name)"/>
                <add name="HTTP_X_Blog" xdt:Transform="Insert" xdt:Locator="Match(name)"/>

            </allowedServerVariables>
        </rewrite>
    </system.webServer>  
</configuration> 

但是,当尝试导航到它(https://(our azure webapp.com)/base3/index.html)时,我们不断收到错误消息您要查找的资源已被删除,名称已更改或暂时不可用。

令人困惑,因为这是我们在其他站点上使用的重写规则。

我们甚至在全新的应用程序服务上尝试了相同的方法,并且上面的重写规则也可以正常工作。

[试图通过启发式分析找出问题所在,在以下情况下,在我们的web.config上重写规则现在可以使用:

<system.webServer> <modules runAllManagedModulesForAllRequests="true">下然后评论<add name="UrlRewrite" type="DotNetNuke.HttpModules.UrlRewriteModule, DotNetNuke.HttpModules" preCondition="managedHandler" />

但是,主站点现在中断了。。

我们如何实现与DotNetNuke.HttpModules.UrlRewriteModule, DotNetNuke.HttpModules一起正常使用的重写规则?

在由Azure应用服务托管的DNN网站上,我们在web.config上设置了以下自定义规则:[[[[[[

azure-web-sites dotnetnuke azure-web-app-service dnn-module
1个回答
1
投票

UPDATE

© www.soinside.com 2019 - 2024. All rights reserved.