Kas*_*sem 20 .net asp.net iis url-rewriting url-rewrite-module
我正在尝试使用Rewrite Module 2.0进行URL 重写,但我没有运气让它工作.我要做的是将端口80上的所有对Web应用程序的调用重新写入IIS中托管的其他应用程序(或者可能在网络上的不同服务器上).使用IIS提供的GUI我创建了以下规则:
<rewrite>
<rules>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="site1/(.*)" />
<action type="Rewrite" url="http://localhost:7001/{R:1}" />
</rule>
</rules>
</rewrite>
Run Code Online (Sandbox Code Playgroud)
安静简单,但不幸的是它不起作用.另一方面,当我将动作类型更改为时Redirect
,它可以正常工作.
可能是什么问题呢?
Rob*_*don 40
昨天我遇到了同样的问题,我花了很长时间才弄明白.
这里的关键是你http://
在重写动作中有一个前缀; 这使得这是一个需要由应用程序请求路由处理的特殊情况.第一步是确保安装了"应用程序请求路由"模块.您可以在https://www.iis.net/downloads/microsoft/application-request-routing找到该模块.安装完成后,转到IIS Web服务器(从您的网站升级),然后打开"应用程序请求路由缓存"功能.从右侧的操作中选择Server.Proxy.Settings
,并确保选中"启用代理"复选框.这允许将URL重写任务重新路由到应用程序请求路由,并且您的反向代理应该适用于外部请求.
这个想法来自2009年的优秀博客文章:http://ruslany.net/2009/04/10-url-rewriting-tips-and-tricks/
小智 3
当我试图解决同样的问题时偶然发现了这篇旧文章。
解决了!
使用 IIS 服务管理器中的重写 URL 功能,我创建了一个友好的 URL 规则。
这工作正常,当我查看 web.config 文件(www root)中的规则时,它显示 1 个重定向规则和 1 个重写规则。
我编辑了这个以适合 1 场比赛。然后我只是复制此代码,编辑每个产品的 ID。下面的例子:
<rule name="RedirectUserFriendlyURL1" stopProcessing="true">
<match url="^product\.php$" />
<conditions>
<add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" />
<add input="{QUERY_STRING}" pattern="^id_product=\b35\b" />
</conditions>
<action type="Redirect" url="990mm-bohemia-cast-iron-electric-radiator"
appendQueryString="false" />
</rule>
Run Code Online (Sandbox Code Playgroud)
第一条规则查找"product.php"
URL 中的字符串"id_product=35"
,然后重定向到"990mm-bohemia-cast-iron-electric-radiator"
当前不存在的字符串。然后(见下文)
<rule name="RewriteUserFriendlyURL1" stopProcessing="true">
<match url="^\b990mm-bohemia-cast-iron-electric-radiator\b" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="product.php?id_product=35" />
</rule>
Run Code Online (Sandbox Code Playgroud)
此规则将该"product.php?id_product=35"
位重写为“990mm-bohemia-cast-iron-electric-radiator”,为重定向创建新位置。
归档时间: |
|
查看次数: |
18641 次 |
最近记录: |