Skip to main content

Umbraco - C# - Redirect a Umbraco Page to an external web site.

Umbraco - C# - How to Redirect a Umbraco Page to an external web site.

Two create a redirect from a Umbraco page to an exteral site you need to:   (this is very simple)

 Step 1) Add the page to Umbraco that you want to rediect. (You may want to Hide this page from navigation)

 Step 2) Create a new Web Form in C# Visual Studio
     (this web form will be placed in the route of the site)

 Step 3) Update the Web Config to include the new file mentioned in step 2
     (or you will get a Server error in appliaction)

 Step 4) Add a Url redirect to the UrlRewriting.config,  from the Umbraco page (created in step 1), to the web form (created in step 2).

Step 2: Here is the C# Code (my-redirect-example.aspx) form for step 2:

(it is basically a blank form)

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="my-redirect-example.aspx.cs" Inherits="my_redirect_example" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
  <body onload="open_on_entrance()">
   <form id="form1" runat="server">
    <div>

    </div>
  </form>
</body>
</html>



Here is the C# Code (my-redirect-example.aspx.cs) form for step 2:  


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class my_redirect_example : System.Web.UI.Page
 {
    protected void Page_Load(object sender, EventArgs e)
   {
    Response.Redirect("http://www.markdownie.me.uk");
   }
}



Step 3: Here is the line you need to add to the Web Config file for step 3:


Add this in your <appSettings> section.

   <add key="umbracoReservedUrls" value="~/my-redirect-example.aspx" />


Step 4: Here is the Code you need to add to the UrlRewriting.config file:



<add
name="myExternalRedirect"
  virtualUrl="^~/my-page.aspx"
destinationUrl="~/my-redirect-example.aspx"
ignoreCase="true"
redirect="Application"
redirectMode="Permanent"/>


Note:  Highlighted Yellow,  ^~/my-page.asp  . This is the name of the Umbraco Page you create in Step 1.  











If you experience any issues with this code, please let me know....

Comments

Post a Comment

Popular posts from this blog

Create a .NET Contact Form that Gets the Last Url Visited in C# Can also be Used in Umbraco

This is a Simple Contact From done in C# .Net and also can be used in Umbraco.  Paste the code in to Visual Web Developer for a better view. The important bits are coment in the second file.  One of the Commented out lines highlights how to get the mailto address from an Umbraco field. The code Below includes the myContactForm.ascx.cs codebehind file and the myContactForm.ascx file. 1) The myContactForm.ascx file:  <%@ Control Language="C#" AutoEventWireup="true" CodeFile="ContactFormforPublications.ascx.cs" Inherits="usercontrols_ContactFormPublications" %> <div class="contact-form" id="contactForm" runat="server">     <h3>Request a Publication</h3>     <div class='int'>         <form runat="server">         <asp:Panel DefaultButton="contactFormSubmit" runat="server">         <fieldset>             <div class='

Umbraco 7 - C# Razor - Passing a parameter variable from a Template to a Partial View.

Passing a parameter variable from a Template to a Partial View Example - Passing a Page Id to a Partial View. In the example below we are passing 3 page Ids (1090. 1091, 1092) to a partial view.  The Partial View will display the details for each of these nodes on a home page.  See final output below. 1) In your Template: @Html.Partial("HomePageLinksToLandingPages", new ViewDataDictionary{{ "pageId", 1090}}) @Html.Partial("HomePageLinksToLandingPages", new ViewDataDictionary{{ "pageId", 1091}}) @Html.Partial("HomePageLinksToLandingPages", new ViewDataDictionary{{ "pageId", 1092}}) 2) The Partial View: @inherits Umbraco.Web.Mvc.UmbracoTemplatePage @{ var thisPageId = 1090; var stringPage = @ViewData["pageId"]; thisPageId = Convert.ToInt32(stringPage); } <div class="col-md-4"> <arti