IIS服务器URL重写

时间:2020-05-14 02:57:07

标签: iis webserver

例如,我有一个域example.com,并且我的服务器IP是1.1.1.1,它在Windows Server 2016 Datacenter上运行Microsoft IIS服务器
DNS记录为A *.example.com 1.1.1.1
我要创建服务器,1.1.1.1C:\inetpub\*下显示内容
如果该目录不存在,则服务器应返回404错误。

例如:

  • 文件系统:
|--C:\
    |-- inetpub\
        |-- a
        |-- b
        |-- c

将导致:

  • a.example.com 在下面的内容中显示 C:\inetpub\a
  • b.example.com 在下面的内容中显示 C:\inetpub\b
  • c.example.com 在下面的内容中显示 C:\inetpub\c
  • d.example.com 返回 HTTP/1.1 404 Not Found

谢谢。

1 个答案:

答案 0 :(得分:0)

请在您的网站下将这些文件夹映射为虚拟目录。

例如:/ a-> c:\ inetpub \ a。 / b-> c:\ inetpub \ b。

然后,您可以轻松地将a.example.com/test.aspx重写为a.example.com/a/test.aspx。如果文件夹不存在。然后d.example.com/d/只会返回404。

<rule name="rewrite">
    <match url="(.*)" />
        <conditions>
           <add input="{HTTP_HOST}" pattern="(.*)\.example\.com" />
        </conditions>
    <action type="Rewrite" url="{C:1}/{R:1}" />
</rule>