首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于URL路径的IIS 7 URL重定向

基于URL路径的IIS 7 URL重定向
EN

Stack Overflow用户
提问于 2012-09-21 16:35:58
回答 1查看 635关注 0票数 2

我有一个托管在ASP.NET 4环境中的Web (Windows7上的IIS7.5),我想使用ASP.NET重写/重定向。我之所以需要这样做,是因为我不能更改一些移动设备代码来插入参数。

下面是我想要的URL:

http://server.test.com/VirtualDirectory/theOrganization/RequestService.svc/REST/GetIssueTypes

真正的URL是:

http://server.test.com/VirtualDirectory/RequestService.svc/REST/GetIssueTypes?organization=theOrganization

请注意如何删除theOrganization并将其附加到查询字符串中以进行重定向。

代码语言:javascript
复制
<rule name="test" stopProcessing="true">
    <match url="(.+\.?)/(.+)/RequestService.svc/(.+)" />
    <action type="Redirect" url="{R:1}/RequestService.svc/{R:3}?organization={R:2}"
    redirectType="Permanent" />
</rule>

我知道写这条规则有点奇怪。以为我的正则表达式是对的。我在IIS管理器中的URL重写测试器中运行了表达式,它似乎与我想要的匹配。另外,我确实安装了IIS重写,并且我制定了一个简单的规则,它起作用了。

但是,当我使用浏览器尝试时,它无法重定向并导致404。我希望IIS重写专家能够加入进来,因为我对此相当陌生。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2012-11-01 22:05:08

我用iis 7.5和url重写2.0在测试服务器上测试了您的规则,该规则正在运行,但是您的regex与您想要的url和真正的url都匹配。

所以你最终会有一个双重重定向

我想你想要这样的模式

(.+.?)/VirtualDirectory/(.+)/RequestService.svc/(.+)

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12534543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档