0

使用 URL Rewrite 模块,我有一个规则设置,定义为:

Matches the pattern
Regular Expressions
Pattern: /support/viewmessages.aspx
Ignore Case: true
Action Type: Redirect

Redirect URL: http://newdomain/support/viewmessages.aspx
Append Query String: true
Redirect Type: 301

在我看来,这听起来应该重定向任何格式如下的 URL:
http://olddomain/support/viewmessages.aspx?forum=20&topic=75942&ForumName=General%20Discussion
要成为:
http://newdomain/support/viewmessages.aspx ?forum=20&topic=75942&ForumName=General%20讨论

然而,似乎什么都没有发生。我在旧域上得到了我的 404,它不会在附加了查询字符串的情况下进入 404。

这是 IIS 在我的 web.config 中生成的代码:

<rule name="Forum Posts" patternSyntax="ECMAScript" stopProcessing="true">
    <match url="/support/viewmessages.aspx" />
    <action type="Redirect" url="http://newdomain/support/viewmessages.aspx" appendQueryString="true" />
</rule>

任何帮助,将不胜感激。

4

1 回答 1

1

尝试 1:您是否尝试过没有正斜杠的模式?我的另一个想法是斜线和点是否有一些特别的事情要做,因为它们可能被视为正则表达式中的特殊字符。


第 2 点:您确实认识到点是正则表达式中的特殊字符,对吗?您可能必须找到一种方法来逃避它,以便 url 喜欢“/support/viewmatches\.aspx”

于 2012-04-12T19:23:29.763 回答