URL重写到子域

时间:2018-05-11 17:21:32

标签: asp.net iis url-rewriting url-rewrite-module

我正在使用ASP.NET的重写工具从http重定向到hpps。我想重新路由到

https://services.net/ExitInterview/home/about

但目前正在路由到

https://services.net/home/about

以下是我的重定向规则:

    <rule name="HTTP to HTTPS redirect" stopProcessing="true">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}"
          redirectType="Permanent" />
    </rule>`

我可以混合&#34; HTTP_HOST&#34;规则字符串中带有硬编码文本的文本?或者还有另一种方式吗?

我不想对网址进行硬编码,因为它会随着本地,分段和制作而变化。

2 个答案:

答案 0 :(得分:1)

<rule name="HTTP to HTTPS redirect" ="true">
  <match url="(.*)" />
  <conditions>
    <add input="{HTTPS}" pattern="off" ignoreCase="true" />
  </conditions>
  <action type="Redirect" url="https://{HTTP_HOST}/ExitInterview/{R:1}"
      redirectType="Permanent" />
</rule>

试一试

答案 1 :(得分:0)

这应该在web.config文件中从HTTP重定向到HTTPS时执行您想要的操作:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
    <httpRuntime executionTimeout="180" />
</system.web>
<system.webServer>
    <httpErrors errorMode="Detailed" existingResponse="PassThrough" />
    <rewrite>
    <rules>
        <rule name="HTTP to HTTPS redirect" stopProcessing="true">
            <match url="(.*)" />
            <conditions>
                <add input="{HTTPS}" pattern="off" />
            </conditions>
            <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
        </rule>
    </rules>
    </rewrite>
</system.webServer>
</configuration>

我将这个精确的片段用于强制执行HTTPS重定向的网络服务器,但这似乎也非常接近你所拥有的。您确定已正确配置了web.config文件的结构吗? - 我记得当我遗漏某些东西时会遇到问题。