网址重写:将一个网页重定向到另一个网页

时间:2011-11-22 15:01:12

标签: iis url-rewriting web-config iis-7.5

我想创建一个规则,将查询重定向到另一个页面(不存在)

示例:

http://www.example.com/en/page.asp?id=2&...

http://www.example.com/en-US/newpage.asp?id=2&...

我使用这条规则:

<rule name="Redirect" stopProcessing="true">
    <match url="page\.asp\?(.+)$" />
    <action type="Rewrite" url="newpage.asp?{R:1}" />
</rule>

但是这不起作用......我收到了404错误......

我的错误是什么?

由于

1 个答案:

答案 0 :(得分:3)

  1. URL Rewrite的重写操作仅用于重写页面URL 显示在浏览器上,但它需要原始页面 存在于服务器上。对于您的情况,您需要一个重定向操作。
  2. 需要更改正则表达式以在最终网址中反映“en-US”。
  3. 请尝试使用此代码:

    <rule name="Redirect" stopProcessing="true">
        <match url="en/page\.asp\?(.+)$" />
        <action type="Redirect" url="en-US/newpage.asp?{R:1}" redirectType="Permanent"/>
    </rule>
    

    永久重定向有助于使您的网站搜索引擎优化(搜索引擎优化)阻止搜索引擎机器人索引旧网址(因此不会拆分2个网址之间的网页排名)。