Asp.net core 使用.netcore 2.2将URL重写为FQDN

Asp.net core 使用.netcore 2.2将URL重写为FQDN,asp.net-core,url-rewriting,Asp.net Core,Url Rewriting,作为我们尝试开始自动化构建/部署的一部分,我正在尝试找出如何在.netcore 2.2 web应用程序中创建URL重写,以将URL从站点/重写到https://sitename.domain.com因为目前这是通过在我们的产品上的web.config中使用重写规则来实现的在发布项目后复制文件时,我们不会复制该服务器。生产服务器上的web.config具有此重写规则 <rule name="Redirect shortname to FQDN" stopProcessing="true"&g

作为我们尝试开始自动化构建/部署的一部分,我正在尝试找出如何在.netcore 2.2 web应用程序中创建URL重写,以将URL从
站点/
重写到
https://sitename.domain.com
因为目前这是通过在我们的产品上的web.config中使用重写规则来实现的在发布项目后复制文件时,我们不会复制该服务器。生产服务器上的web.config具有此重写规则

<rule name="Redirect shortname to FQDN" stopProcessing="true">
    <match url="^(.*)$" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^.*\.domain\.com$" negate="true"/>
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}.domain.com/{R:1}" />
</rule>
然而,这似乎不起作用-我假设这是一种不正确的处理方法,因为我找不到任何关于使用IApplicationBuilder使用google为FQDN重写url的信息


在将URL从web.config中移出或在发布时将其包含在web.config中时,实现此URL重写的正确方法是什么?

我在发布此问题后找到了答案,我想我会为将来遇到此问题的任何人回答

您可以将所需的重写从web.config提取到一个新的配置文件中,比如说
urlRewrite.config
,这样它将如下所示

<?xml version="1.0" encoding="utf-8"?>
<rewrite>
    <rules>
        <rule name="Redirect shortname to FQDN" stopProcessing="true">
            <match url="^(.*)$" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="^.*\.domain\.com\/$" negate="true" />
            </conditions>
            <action type="Redirect" url="https://{HTTP_HOST}.domain.com/{R:1}" />
        </rule>
    </rules>
</rewrite>
关于这方面的更深入的信息可以找到

<?xml version="1.0" encoding="utf-8"?>
<rewrite>
    <rules>
        <rule name="Redirect shortname to FQDN" stopProcessing="true">
            <match url="^(.*)$" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="^.*\.domain\.com\/$" negate="true" />
            </conditions>
            <action type="Redirect" url="https://{HTTP_HOST}.domain.com/{R:1}" />
        </rule>
    </rules>
</rewrite>
app.UseRewriter(new RewriteOptions().AddIISUrlRewrite(env.ContentRootFileProvider, "urlRewrite.config"));