【发布时间】:2013-02-28 14:46:03
【问题描述】:
我有三个网站。一个主站点和两个子站点位于位于一个 discountasp.Net 服务器上的文件夹中 - www.sitea.com、www.siteb.com 和 www.sitec.com。
我使用 web.config 文件中的 URL 重定向将流量重定向到子站点(siteb 和 sitec):
<rule name="siteb" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www.siteb.com$" />
<add input="{PATH_INFO}" pattern="^/siteb/" negate="true" />
</conditions>
<action type="Rewrite" url="\siteb\{R:0}" />
</rule>
<rule name="sitec" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www.sitec.com$" />
<add input="{PATH_INFO}" pattern="^/sitec/" negate="true" />
</conditions>
<action type="Rewrite" url="\sitec\{R:0}" />
</rule>
我的问题是我不希望公众能够输入 www.sitea.com/siteb/ 并以这种方式访问子站点。
如何配置我的服务器来阻止这种情况?
谢谢
【问题讨论】:
-
URL 重写和重定向是两个不同的东西,你必须清楚你的意思。重定向通常通过 HTTP 302 代码将用户的浏览器发送到不同的地址,而重写配置服务器以将对 URL 的请求视为对不同 URL 的请求,但不会导致发出另一个请求。
标签: asp.net url-rewriting url-redirection