IIS 8.5使用Regex重写URL并不起作用

时间:2015-03-06 07:38:47

标签: iis url-rewriting url-redirection iis-8.5

我想重写来自

的所有用户网址请求

_http://本地主机:5678 /目录/ index.html的

_http://本地主机:5678 /子目录/目录/ index.html的

在我的 ISS网址重写模块规则中,我使用以下模式: ^(HTTPS:// [^ /] [:0-9] /)(。*)$

使用此模式URL地址分为两部分:主机名和带页面或任何其他内容的目录。在IIS操作属性重定向URL字段中,我写道:{R:1} subdir / {R:2}

我认为此规则应重定向来自

的所有请求

_http://host-name/page.html

_http://host-name/subdir/page.html

但这不起作用。将操作类型从重写更改为重定向并不起作用。在重定向URL 字段中,我写入资源的直接URL(例如,_http:// localhost:5678 / subdir / dir / index.html)IIS尝试将我重定向到该URL但浏览器(Firefox)和Chrome)抛出异常ERR_TOO_MANY_REDIRECTS。如何正确配置IIS URL重写操作?

1 个答案:

答案 0 :(得分:0)

请使用此模式,因为您无需匹配整个模式即可完成此操作。 ^(/ DIR)(/.*)?

然后重定向网址应该看起来像

{HTTP_HOST} /子目录/ {R:1} {R:2}