IIS URL 使用传入重写 URL
IIS URL Rewrite with Incoming URL
我有一个奇怪的业务案例,我需要任何时候在我的网络服务器上调用 URL,它是用传入的 URL 重新编写的。
示例:
传入URL
/site/1
URL 即将
/innerlink/2
在浏览器中 URL
/innerline/2 会显示 /site/1
如果您能回答这个问题或帮我找到一些 material 可以帮助我做到这一点,我们将不胜感激。谢谢!
此方法的名称"URL rewriting"。在 IIS 中,您可以使用 URL 重写模块来实现它。
在您只需要将 /site/1
重写为 /innerlink/2
的情况下,您需要执行以下操作:
- 为 IIS 安装 URL rewrite module(它可能已经安装)
- 在您的 web.config 中,您需要添加此重写规则:
.
<rule name="Laravel5" enabled="true" stopProcessing="true">
<match url="^site/1$" />
<action type="Rewrite" url="/innerlink/2" />
</rule>
- 现在,如果您在浏览器中打开此 link
{YOUR DOMAIN, IP OR HOSTNAME}/site/1
,它将向 /innerlink/2
发出请求(但浏览器将继续显示 /site/1
)
P.S。您还可以在本文中找到一些有用的 rewrite/redirect 规则:https://host4asp.net/top-iis-rewrite-rules/
我有一个奇怪的业务案例,我需要任何时候在我的网络服务器上调用 URL,它是用传入的 URL 重新编写的。
示例:
传入URL
/site/1
URL 即将
/innerlink/2
在浏览器中 URL /innerline/2 会显示 /site/1
如果您能回答这个问题或帮我找到一些 material 可以帮助我做到这一点,我们将不胜感激。谢谢!
此方法的名称"URL rewriting"。在 IIS 中,您可以使用 URL 重写模块来实现它。
在您只需要将 /site/1
重写为 /innerlink/2
的情况下,您需要执行以下操作:
- 为 IIS 安装 URL rewrite module(它可能已经安装)
- 在您的 web.config 中,您需要添加此重写规则:
.
<rule name="Laravel5" enabled="true" stopProcessing="true">
<match url="^site/1$" />
<action type="Rewrite" url="/innerlink/2" />
</rule>
- 现在,如果您在浏览器中打开此 link
{YOUR DOMAIN, IP OR HOSTNAME}/site/1
,它将向/innerlink/2
发出请求(但浏览器将继续显示/site/1
)
P.S。您还可以在本文中找到一些有用的 rewrite/redirect 规则:https://host4asp.net/top-iis-rewrite-rules/