我对重写地图还很陌生,但我们确实让我们的地图在非常基础的层面上工作。网站重新设计后,我们设置了一个广泛的重写地图(数千条规则),将旧页面指向新页面。我们遇到的麻烦是我们必须为同一页面添加多个值才能使重写工作。
例子:
http://www.abc123.com/About --> http://www.abc123.com/about-us
http://www.abc123.com/About.aspx --> http://www.abc123.com/about-us
http://www.abc123.com/about/ --> http://www.abc123.com/about-us
http://www.abc123.com/about.aspx --> http://www.abc123.com/about-us
应该有一种方法可以在正则表达式中的基本 URL 之后使用通配符 - 我期待这样的东西:^. /[about] $ 如果所有 url 都包含“about”但它们不包含,那将会很棒。
另请注意,我们不是按目录重定向,而是按文件名重定向。这是我们的 CMS 设置为不使用 .aspx 扩展名,因此任何扩展名都可以使用。
我想要的是只需要为每个 URL 设置一个规则,如下所示:“ http://www.abc123.com/about ”,它会将上述所有变体指向新 URL,无论它是否没有扩展名,或者如果扩展名是 .html、.asp、.aspx 或 .whatever
这超出了重写规则的能力,还是我缺少一些基本的正则表达式?
这是我们使用的规则:
<rule name="Redirect Rule for Legacy Redirects" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{Redirects:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="false" />
</rule>
任何见解将不胜感激。