asp.net - 新域名的 URL 重写

标签 asp.net asp.net-mvc iis ssl url-rewriting

我正在尝试在 IIS 中创建 url 重写。我们已经在服务器上安装了 SSL 证书,并且需要所有连接都是 HTTPS。 HTTPS 重写规则似乎工作正常。

我们遇到的问题是整个组织的用户都有服务器名称的书签。因此,他们将收到有关服务器名称与证书不匹配的安全警告。示例:https://mywebserver/BI/Default.aspx .

我需要重写域,以便它们重定向到 https://mywebserver.abcxyz.com/BI/Default.aspx

我创建的当前规则将重定向到 HTTPS。它还将重写来自 https://mywebserver/ 的域至 https://mywebserver.abcxyz.com .

我遇到的问题是,如果服务器名称后面有任何内容,它将无法正常工作。无效域示例:http://mywebserver.abcxyz.com/BI/Default.aspx

有什么建议吗?这是我当前在 web.config 中的内容。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
    <rewrite>
        <rules>
            <rule name="CanonicalHostNameRule1" enabled="true">
                <match url="(.*)" />
                <conditions>
                    <add input="{HTTP_HOST}" pattern="^mywebserver\.abcxyz\.com$" negate="true" />
                </conditions>
                <action type="Redirect" url="http://mywebserver.abcxyz.com/{R:1}" />
            </rule>
            <rule name="Redirect to HTTPS" enabled="true" stopProcessing="true">
                <match url="(.*)" />
                <conditions>
                    <add input="{HTTPS}" pattern="^OFF$" />
                </conditions>
                <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

最佳答案

尝试这样的事情并执行 HTTPS,这样您就不会有 2 个单独的重定向

<rule name="CanonicalHostNameRule1" patternSyntax="Wildcard" stopProcessing="true">
  <match url="*" />
  <conditions>
    <add input="{HTTP_HOST}" pattern="mywebserver.com" />
  </conditions>
  <action type="Redirect" url="https://mywebserver.abcxyz.com/{R:1}" />
</rule>

关于asp.net - 新域名的 URL 重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34076258/

相关文章:

c# - 你如何正确编写一个 foreach 循环以在 asp.net C# 中上传多个文件

javascript - 为什么我不能从 javascript (.js) 文件中获取我的文本框的值?

c# - 按回车键提交 asp.net

c# - Server.MapPath 和 HostingEnvironment.MapPath 有什么区别?

python - 无法让 Mercurial 的 hgweb.cgi 在 IIS7 上工作

javascript - 使用 knockoutjs 操作 View 模型

jquery - 如何在提交表单后显示加载图标,但在模型在 ASP .NET MVC 中无效的情况下不显示

jquery - 如何在 ASP.NET MVC 中为有效字段添加绿色边框

asp.net-mvc - ASP.NET MVC,URL 路由 : Maximum Path (URL) Length

amazon-web-services - AWS EBS 上的 ASP.Net Core - 写入权限和 .ebextensions