将aspx页面重定向到另一个页面

时间:2016-02-11 11:02:50

标签: asp.net redirect iis-7 windows-server-2008-r2

Windows Server 2008 R2。

我已在我的服务器上安装了URL Rewrite。我在同一个网站内将一个页面重定向到另一个页面时遇到了困难,例如。

我想重定向

www.mysite.com/content/old/content.aspx

www.mysite.com/content/new/content.aspx?id=1&sid=2

我已经尝试了一些方法来实现这一目标但事实证明比我想象的更难。我怎么能只重定向一页呢?

我已经尝试了

  <rewrite>
      <rewriteMaps configSource="Web.RewriteMaps.config"/>
      <rules>
          <rule name="Old Page Redirects" stopProcessing="true">
              <match url=".*"/>
              <conditions>
                  <add input="{OldPages:{REQUEST_URI}}" pattern="(.+)"/>
              </conditions>
              <action type="Redirect" url="{C:1}" appendQueryString="false" redirectType="Permanent"/>
          </rule>
      </rules>
  </rewrite>
在我的配置文件中

我有

<rewriteMaps>
  <rewriteMap name="OldPages">
    <add key="/content/old/content.aspx" value="/content/new/content.aspx?id=1&sid=2" />
  </rewriteMap>
</rewriteMaps>

3 个答案:

答案 0 :(得分:0)

您可以使用Response.Redirect("www.mysite.com/content/new/content.aspx?id=1&sid=2");

将此代码写入您要使用的任何事件中。

例如:

protected void btnConfirm_Click(object sender, EventArgs e)
 {
   Response.Redirect("www.mysite.com/content/new/content.aspx?id=1&sid=2");
   }

我们也可以使用javascript进行导航。

window.location = "window.location = "SomePage.aspx";

答案 1 :(得分:0)

另一种方法是在你的asp.net应用程序的web.config中添加这样的东西(这将允许动态页面:

 <system.webServer>
 <httpRedirect enabled="true" destination="www.mysite.com/content/new/content.aspx?id=1&sid=2" />

我不确定这一点。因为我从这个网站本身得到了这个。请试一试。

答案 2 :(得分:0)

最终找到了应该如何做的事。

    <rewrite>
        <rules>
            <rule name="redirect single page" patternSyntax="ExactMatch" stopProcessing="true">
                <match url="old.aspx" />
                <action type="Redirect" url="URL/page.aspx" appendQueryString="false" />
            </rule>
        </rules>
    </rewrite>