IIS web.config : 将 URL 文件重写为子域
IIS web.config : Rewrite URL file as subdomain
我正在尝试用 web.config 文件重写我的 url。
实际 URL: sudomain.mydomain.com/legal.html
如愿 URL: legal.mydomain.com
我已经隐藏了 html 扩展。
<rule name="Hidehtml" enabled="true">
<match ignoreCase="true" url="Legal" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{URL}" pattern="(.*)\.(.*)" negate="true" />
</conditions>
<action type="Rewrite" url="Legal.html"/>
</rule>
我看到子文件夹可以进行这种重写,但我想知道文件是否可以。
我正在尝试这个,但它给我一个 DNS 错误。
<rule name="testrule" stopProcessing="true">
<match url="legal(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="mydomain.com" />
</conditions>
<action type="Redirect" url="http://legal.mydomain.com" />
</rule>
我想知道我是不是遗漏了什么,也许还需要重定向?
感谢您的帮助!
为了实现这一点,
我刚刚为我的网站注册了两个 CNAME。
FQDN:subdomain.mydomain.com
FQDN:legal.mydomain.com
然后我将它们应用到我的 IIS 站点。
只需确保它们都可以在网络浏览器中访问。
然后我应用以下重写规则
<rules>
<rule name="testrule" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{URL}" pattern="^/legal\.[a-zA-Z]+" />
<add input="{HTTP_HOST}" pattern="subdomain.candy.com" />
</conditions>
<action type="Redirect" url="http://legal.candy.com" />
</rule>
<rule name="rewrite rule">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="legal.candy.com" />
<add input="{URL}" pattern="^(/)?$" />
</conditions>
<action type="Rewrite" url="http://subdomain.candy.com/legal.html" />
</rule>
</rules>
当你访问sudomain.mydomain.com/legal.html时,请求会被重定向到legal.mydomain.com/,而legal.mydomain.com会重写返回 /legal.html 以获取响应内容。
请记住合法的。mydomain.com 始终需要在 DNS 中注册,即使您只是将其用作掩码。
如果您的网站正在转发 public 互联网,请记得同时为 legal.domain.com 购买域名。
我正在尝试用 web.config 文件重写我的 url。
实际 URL: sudomain.mydomain.com/legal.html
如愿 URL: legal.mydomain.com
我已经隐藏了 html 扩展。
<rule name="Hidehtml" enabled="true">
<match ignoreCase="true" url="Legal" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{URL}" pattern="(.*)\.(.*)" negate="true" />
</conditions>
<action type="Rewrite" url="Legal.html"/>
</rule>
我看到子文件夹可以进行这种重写,但我想知道文件是否可以。 我正在尝试这个,但它给我一个 DNS 错误。
<rule name="testrule" stopProcessing="true">
<match url="legal(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="mydomain.com" />
</conditions>
<action type="Redirect" url="http://legal.mydomain.com" />
</rule>
我想知道我是不是遗漏了什么,也许还需要重定向?
感谢您的帮助!
为了实现这一点, 我刚刚为我的网站注册了两个 CNAME。 FQDN:subdomain.mydomain.com FQDN:legal.mydomain.com
然后我将它们应用到我的 IIS 站点。
只需确保它们都可以在网络浏览器中访问。
然后我应用以下重写规则
<rules>
<rule name="testrule" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{URL}" pattern="^/legal\.[a-zA-Z]+" />
<add input="{HTTP_HOST}" pattern="subdomain.candy.com" />
</conditions>
<action type="Redirect" url="http://legal.candy.com" />
</rule>
<rule name="rewrite rule">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="legal.candy.com" />
<add input="{URL}" pattern="^(/)?$" />
</conditions>
<action type="Rewrite" url="http://subdomain.candy.com/legal.html" />
</rule>
</rules>
当你访问sudomain.mydomain.com/legal.html时,请求会被重定向到legal.mydomain.com/,而legal.mydomain.com会重写返回 /legal.html 以获取响应内容。
请记住合法的。mydomain.com 始终需要在 DNS 中注册,即使您只是将其用作掩码。
如果您的网站正在转发 public 互联网,请记得同时为 legal.domain.com 购买域名。