我正在使用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;规则字符串中带有硬编码文本的文本?或者还有另一种方式吗?
我不想对网址进行硬编码,因为它会随着本地,分段和制作而变化。
答案 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文件的结构吗? - 我记得当我遗漏某些东西时会遇到问题。