您能否建议如何解决azure web app的URL重写规则问题?

您能否建议如何解决azure web app的URL重写规则问题?,azure,url-rewriting,web-config,azure-web-app-service,Azure,Url Rewriting,Web Config,Azure Web App Service,我在Azure Web App上部署了一个MVC点网应用程序(多租户平台)。 我已经配置了两个租户:租户1和租户2,以及它们的URL: primer-test.azurewebsites.net/tenant1和 primer-test.azurewebsites.net/tenant2 它们都可以从IE、Safari等网站访问。我在GoDaddy上购买了两个域名: 域名1.com 域名2.com 我想为它们配置重写规则,因此每当有人在浏览器或domain1.com中键入时,都应该显示prime

我在Azure Web App上部署了一个MVC点网应用程序(多租户平台)。 我已经配置了两个租户:租户1和租户2,以及它们的URL:

  • primer-test.azurewebsites.net/tenant1和
  • primer-test.azurewebsites.net/tenant2
  • 它们都可以从IE、Safari等网站访问。我在GoDaddy上购买了两个域名:

  • 域名1.com
  • 域名2.com
  • 我想为它们配置重写规则,因此每当有人在浏览器或domain1.com中键入时,都应该显示primer-test.azurewebsites.net/tenant1的内容。同样,对于域2

    我已将这两个自定义域连接到我的web应用程序,没有问题。我写了重写规则,但它们似乎没有按预期工作

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <location path="." inheritInChildApplications="false">
        <system.webServer>
        <rewrite>
          <rules>
            <rule name="domain1.com" stopProcessing="true">
              <match url=".*" />
              <conditions>
                <add input="{HTTP_HOST}" pattern="^(www.)?domain1.com" />
                <add input="{PATH_INFO}" pattern="^/tenant1/" negate="true" />
              </conditions>
              <action type="Rewrite" url="\tenant1\{R:0}" />
            </rule>
            <rule name="domain2.com" stopProcessing="true">
              <match url=".*" />
              <conditions>
                <add input="{HTTP_HOST}" pattern="^(www.)?domain2.com" />
                <add input="{PATH_INFO}" pattern="^/tenant2/" negate="true" />
              </conditions>
              <action type="Rewrite" url="\tenant2\{R:0}" />
            </rule>
          </rules>
        </rewrite>
          <handlers>
            <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
          </handlers>
          <aspNetCore processPath="dotnet" arguments=".\kobsq.dll" stdoutLogEnabled="false" stdoutLogFile="\\?\%home%\LogFiles\stdout" />
        </system.webServer>
      </location>
    </configuration>
    
    
    
    你知道哪里不对吗


    非常感谢

    在本例中,从您提供的URL中,我可以看到
    primer test.azurewebsites.net
    是您创建和使用的Web应用程序
    tenant1
    tenant2
    应该是webapp中的
    虚拟应用程序

    概念:

    相关帖子:

    正确的使用过程和测试步骤:

    第一步

    准备工作,创建.net framework的主应用程序(在项目中使用web.config以配置重写)

    在门户中配置

    在站点路径下创建文件夹并按zip部署虚拟应用程序

    在没有重写设置的情况下测试它

    步骤2.在
    RewriteTest
    项目中修改
    web.config
    文件

    步骤3.创建要测试的自定义域

    步骤4.测试结果。满足您的需求


    在这种情况下,从您提供的URL中,我可以看到
    primer test.azurewebsites.net
    是您创建和使用的Web应用程序。
    tenant1
    tenant2
    应该是Web应用程序中的
    虚拟应用程序

    概念:

    相关帖子:

    正确的使用过程和测试步骤:

    第一步

    准备工作,创建.net framework的主应用程序(在项目中使用web.config以配置重写)

    在门户中配置

    在站点路径下创建文件夹并按zip部署虚拟应用程序

    在没有重写设置的情况下测试它

    步骤2.在
    RewriteTest
    项目中修改
    web.config
    文件

    步骤3.创建要测试的自定义域

    步骤4.测试结果。满足您的需求


    我的答案应该对你很有帮助。如果你需要帮助,请告诉我。我的答案应该对你很有帮助。如果你需要帮助,请告诉我。