3

所以我有一个简单的问题,但不知何故似乎不起作用。http://www.domain.com/%20#axzz2ZX4J0KAS我有一个要重定向到的URL http://www.domain.com/page-name.htm。我在 IIS URL Rewrite/web.config 中尝试了很多组合,它们似乎都可以在测试模式对话框中工作,但在浏览器中都没有。

1.

<rule name="Redirect%20InHomePage" enabled="true" stopProcessing="true">
    <match url="^(.+)domain\.com/(\s|%20)(.+)" ignoreCase="true" />
    <action type="Redirect" url="http://www.domain.com/page-name.htm" />
</rule>

2.

   <match url="(.+)/%20(.+)" ignoreCase="true" />

3.

    <match url="(.+)domain.com/ (.+)" ignoreCase="true" />

4.

   <match url="(.+)domain.com/(\s|%20)(.+)" ignoreCase="true" />

如您所见,我尝试了上述所有模式,它们在测试模式对话框中都可以正常工作,但是当我浏览 URL 时,它总是将 %20 转换为空格,并且规则不适用于重定向。

如果有人知道我错过了什么,请帮助我解决这个简单但尚未解决的问题。

4

2 回答 2

4

我遇到了类似的问题,并通过在我的规则中输入空格“”而不是 %20 来使其工作。

所以在这里你可能想为你的空间尝试 [ ]。

http://imgur.com/6sjWVjL

于 2013-10-29T18:57:31.580 回答
0

不要在匹配 url 中包含域名。

如果您想处理在您的 url 中有或没有跟踪代码,那么您可能想要使用这样的东西:

<rule name="RedirectSpaceInHomePage" stopProcessing="true">
  <match url="^\s(#\.*)?$" />
  <action type="Redirect" url="page-name.htm" />
</rule>
于 2013-10-29T19:39:00.793 回答