How to 301 redirect default.aspx to root - DOTNET

This is a discussion on How to 301 redirect default.aspx to root - DOTNET ; How can I 301 redirect www.example.com/default.aspx to www.example.com without using ISAPI filters?...

+ Reply to Thread
Results 1 to 9 of 9

How to 301 redirect default.aspx to root

  1. Default How to 301 redirect default.aspx to root

    How can I 301 redirect www.example.com/default.aspx to www.example.com
    without using ISAPI filters?




  2. Default Re: How to 301 redirect default.aspx to root

    If i recall correctly, can't you just set this up in IIS, i just googled
    "301 redirect" and got
    http://www.webconfs.com/how-to-redirect-a-webpage.php as the first link...


    Andrew

    "Eirik Eldorsen" <eirik@increo.no> wrote in message
    news:ef1m%23WBMIHA.4272@TK2MSFTNGP05.phx.gbl...
    > How can I 301 redirect www.example.com/default.aspx to www.example.com
    > without using ISAPI filters?
    >
    >
    >




  3. Default Re: How to 301 redirect default.aspx to root

    Yeah I now how to 301 redirect. The problem is to do it with default.aspx,
    without causing an infinite loop. The homepage has 2 url's
    www.eample.com/default.aspx and www.example.com. I want to 301 redirect
    anyone who get default.aspx in the url.

    Request.RawUrl returns default.aspx in both cases, so i can't figure out how
    to check if the user has default.aspx in his url.



    "Andrew Brook" <ykoorb@hotmail.com> skrev i melding
    news:%232pj3eBMIHA.3940@TK2MSFTNGP05.phx.gbl...
    > If i recall correctly, can't you just set this up in IIS, i just googled
    > "301 redirect" and got
    > http://www.webconfs.com/how-to-redirect-a-webpage.php as the first link...
    >
    >
    > Andrew
    >
    > "Eirik Eldorsen" <eirik@increo.no> wrote in message
    > news:ef1m%23WBMIHA.4272@TK2MSFTNGP05.phx.gbl...
    >> How can I 301 redirect www.example.com/default.aspx to www.example.com
    >> without using ISAPI filters?
    >>
    >>
    >>

    >
    >




  4. Default Re: How to 301 redirect default.aspx to root

    I've tested your sugestion. I get the same problem:
    If I write Response.Write(Request.Url.AbsoluteUri ) in the pageload of
    Default.aspx i get http://www.example.com/deafult.aspx even if the url in
    the browser says www.example.com


    "Dave Bush" <davembush@dmbcllc.com> skrev i melding
    news:F7D602751B594FAFB02BE26C119F8393@OfficeVista...
    >I use request.Url.AbsoluteUri which seems to work fine unless I pass a
    > parameter in the query string.
    >
    > -----Original Message-----
    > From: Eirik Eldorsen [mailto:eirik@increo.no]
    > Posted At: Monday, November 26, 2007 6:46 AM
    > Posted To: microsoft.public.dotnet.framework.aspnet
    > Conversation: How to 301 redirect default.aspx to root
    > Subject: Re: How to 301 redirect default.aspx to root
    >
    > Yeah I now how to 301 redirect. The problem is to do it with
    > default.aspx,
    > without causing an infinite loop. The homepage has 2 url's
    > www.eample.com/default.aspx and www.example.com. I want to 301 redirect
    > anyone who get default.aspx in the url.
    >
    > Request.RawUrl returns default.aspx in both cases, so i can't figure out
    > how
    > to check if the user has default.aspx in his url.
    >
    >
    >
    > "Andrew Brook" <ykoorb@hotmail.com> skrev i melding
    > news:%232pj3eBMIHA.3940@TK2MSFTNGP05.phx.gbl...
    >> If i recall correctly, can't you just set this up in IIS, i just

    > googled
    >> "301 redirect" and got
    >> http://www.webconfs.com/how-to-redirect-a-webpage.php as the first

    > link...
    >>
    >>
    >> Andrew
    >>
    >> "Eirik Eldorsen" <eirik@increo.no> wrote in message
    >> news:ef1m%23WBMIHA.4272@TK2MSFTNGP05.phx.gbl...
    >>> How can I 301 redirect www.example.com/default.aspx to

    > www.example.com
    >>> without using ISAPI filters?
    >>>
    >>>
    >>>

    >>
    >>

    >
    >




  5. Default Re: How to 301 redirect default.aspx to root

    You don't have to issue a 301...

    Your request sounds like a job for Ionic's ISAPI Rewrite Filter, but you'll only be able
    to use it on a server you control. Shared hosters seldom let you install ISAPI filters.

    IIRF :
    http://cheeso.members.winisp.net/IIRF.aspx

    It's free.

    To remove default.aspx from the URL, you'd use :

    RewriteRule (.*)/default.aspx$ $1/ [I,RP]





    Juan T. Llibre, asp.net MVP
    asp.net faq : http://asp.net.do/faq/
    foros de asp.net, en espaņol : http://asp.net.do/foros/
    ======================================
    "Eirik Eldorsen" <eirik@increo.no> wrote in message news:edCBwHCMIHA.820@TK2MSFTNGP06.phx.gbl...
    > Yeah I now how to 301 redirect. The problem is to do it with default.aspx, without causing an infinite loop. The
    > homepage has 2 url's www.eample.com/default.aspx and www.example.com. I want to 301 redirect anyone who get
    > default.aspx in the url.
    >
    > Request.RawUrl returns default.aspx in both cases, so i can't figure out how to check if the user has default.aspx in
    > his url.
    >
    >
    >
    > "Andrew Brook" <ykoorb@hotmail.com> skrev i melding news:%232pj3eBMIHA.3940@TK2MSFTNGP05.phx.gbl...
    >> If i recall correctly, can't you just set this up in IIS, i just googled "301 redirect" and got
    >> http://www.webconfs.com/how-to-redirect-a-webpage.php as the first link...
    >>
    >>
    >> Andrew
    >>
    >> "Eirik Eldorsen" <eirik@increo.no> wrote in message news:ef1m%23WBMIHA.4272@TK2MSFTNGP05.phx.gbl...
    >>> How can I 301 redirect www.example.com/default.aspx to www.example.com without using ISAPI filters?
    >>>
    >>>
    >>>

    >>
    >>

    >
    >




  6. Default Re: How to 301 redirect default.aspx to root

    Thanks. I was hoping to find a solution without using ISAPI filter, but I
    guess that is the only option, or wait till IIS7 is available.

    Eirik

    "Juan T. Llibre" <nomailreplies@nowhere.com> skrev i melding
    news:ePYWQ8CMIHA.3852@TK2MSFTNGP06.phx.gbl...
    > You don't have to issue a 301...
    >
    > Your request sounds like a job for Ionic's ISAPI Rewrite Filter, but
    > you'll only be able
    > to use it on a server you control. Shared hosters seldom let you install
    > ISAPI filters.
    >
    > IIRF :
    > http://cheeso.members.winisp.net/IIRF.aspx
    >
    > It's free.
    >
    > To remove default.aspx from the URL, you'd use :
    >
    > RewriteRule (.*)/default.aspx$ $1/ [I,RP]
    >
    >
    >
    >
    >
    > Juan T. Llibre, asp.net MVP
    > asp.net faq : http://asp.net.do/faq/
    > foros de asp.net, en espaņol : http://asp.net.do/foros/
    > ======================================
    > "Eirik Eldorsen" <eirik@increo.no> wrote in message
    > news:edCBwHCMIHA.820@TK2MSFTNGP06.phx.gbl...
    >> Yeah I now how to 301 redirect. The problem is to do it with
    >> default.aspx, without causing an infinite loop. The homepage has 2 url's
    >> www.eample.com/default.aspx and www.example.com. I want to 301 redirect
    >> anyone who get default.aspx in the url.
    >>
    >> Request.RawUrl returns default.aspx in both cases, so i can't figure out
    >> how to check if the user has default.aspx in his url.
    >>
    >>
    >>
    >> "Andrew Brook" <ykoorb@hotmail.com> skrev i melding
    >> news:%232pj3eBMIHA.3940@TK2MSFTNGP05.phx.gbl...
    >>> If i recall correctly, can't you just set this up in IIS, i just googled
    >>> "301 redirect" and got
    >>> http://www.webconfs.com/how-to-redirect-a-webpage.php as the first
    >>> link...
    >>>
    >>>
    >>> Andrew
    >>>
    >>> "Eirik Eldorsen" <eirik@increo.no> wrote in message
    >>> news:ef1m%23WBMIHA.4272@TK2MSFTNGP05.phx.gbl...
    >>>> How can I 301 redirect www.example.com/default.aspx to www.example.com
    >>>> without using ISAPI filters?
    >>>>
    >>>>
    >>>>
    >>>
    >>>

    >>
    >>

    >
    >




  7. Default Re: How to 301 redirect default.aspx to root

    am I missing something?

    would a few lines like this do?


    Dim url As String = Request.ServerVariables("URL")
    If InStr(url, "default.aspx") <> 0 Then
    Response.Redirect("/")
    End If


    "Dave Bush" <davembush@dmbcllc.com> wrote in message
    news:623D89CCDA0840B38E99691CFA321876@OfficeVista...
    > You can do this in an httpmodule
    >
    > Here's one I wrote that uses a table in a database to match and replace.
    > It will handle 404 errors as well as being pre-emptive. It will either
    > do a 301 redirect or RewritePath (based on flag in db)
    >
    > Table Schema:
    > OldUrl : varchar(n) - RegEx match or literal (based on field below)
    > NewUrl : varchar(n) - literal url to redirect to
    > Redirect301: bit - true if 301 redirect, false if RewritePath
    > Literal: bit - specifies that the OldUrl is a literal value and not a
    > pattern match.
    >
    > I use this in my DotNetNuke sites regularly.
    >
    > ----< code start > ---
    >
    > using System;
    > using System.Collections.Generic;
    > using System.Text;
    > using System.Web;
    > using System.Text.RegularExpressions;
    > using System.Web.Caching;
    >
    > namespace DNNRedirect
    > {
    > public class HttpModule : IHttpModule
    > {
    > public HttpModule()
    > {
    > //
    > // TODO: Add constructor logic here
    > //
    > }
    >
    > public void Init(HttpApplication app)
    > {
    > app.BeginRequest += new EventHandler(this.OnBeginRequest);
    > }
    >
    > public void OnBeginRequest(object s, EventArgs e)
    > {
    > HttpApplication app = (HttpApplication)s;
    > HttpRequest request = app.Request;
    > HttpResponse response = app.Response;
    > String requestUrl = request.Url.AbsoluteUri;
    > String domainPath =
    > request.Url.AbsoluteUri.Replace(request.Url.PathAndQuery, "");
    > String appPath = request.ApplicationPath;
    > if (appPath.Length > 2)
    > appPath += "/";
    > appPath = domainPath + appPath;
    >
    > RedirectorDataSet.dmbcllcRedirectDataTable redirectTable;
    > redirectTable = RedirectController.GetData();
    > int rowIndex = 0;
    > // Handle 404 Errors.
    > if (request.ServerVariables["QUERY_STRING"].Length > 4 &&
    > request.ServerVariables["QUERY_STRING"].StartsWith("404;"))
    > {
    > requestUrl =
    > request.ServerVariables["QUERY_STRING"].Substring(4).ToLower();
    > }
    > // Otherwise, be pre-emptive.
    >
    > string newURL = null;
    > bool redirect = false;
    > for (rowIndex = 0; rowIndex < redirectTable.Rows.Count;
    > rowIndex++)
    > {
    > RedirectorDataSet.dmbcllcRedirectRow row =
    > (RedirectorDataSet.dmbcllcRedirectRow)(redirectTable.Rows[rowIndex]);
    > if (row.Literal)
    > {
    > row.OldUrl = row.OldUrl.Replace("~/", appPath);
    > if (row.OldUrl.ToLower() == requestUrl.ToLower())
    > {
    > newURL = row.NewUrl;
    > redirect = row.Redirect301;
    > break;
    > }
    > }
    > else
    > {
    > row.OldUrl = row.OldUrl.Replace("~/",
    > Regex.Escape(appPath));
    > if (Regex.IsMatch(requestUrl, row.OldUrl,
    > RegexOptions.IgnoreCase))
    > {
    > newURL = Regex.Replace(requestUrl, row.OldUrl,
    > row.NewUrl, RegexOptions.IgnoreCase);
    > redirect = row.Redirect301;
    > break;
    > }
    > }
    > }
    >
    > if (newURL != null)
    > {
    > newURL = newURL.Replace("~/", appPath);
    > if (newURL.ToLower() != requestUrl.ToLower())
    > {
    > if (redirect)
    > {
    > response.Status = "301 Moved Permanently";
    > response.AddHeader("Location", newURL);
    > response.End();
    > return;
    > }
    > else
    > {
    > response.ClearContent();
    > response.StatusCode = 200;
    > newURL = newURL.Replace(appPath, "~/");
    > HttpContext.Current.RewritePath(newURL);
    > }
    > }
    > }
    > }
    > public void Dispose()
    > {
    > }
    > }
    >
    > }
    >
    > ----< end > ----
    >
    > -----Original Message-----
    > From: Eirik Eldorsen [mailto:eirik@increo.no]
    > Posted At: Monday, November 26, 2007 8:28 AM
    > Posted To: microsoft.public.dotnet.framework.aspnet
    > Conversation: How to 301 redirect default.aspx to root
    > Subject: Re: How to 301 redirect default.aspx to root
    >
    > Thanks. I was hoping to find a solution without using ISAPI filter, but
    > I
    > guess that is the only option, or wait till IIS7 is available.
    >
    > Eirik
    >
    > "Juan T. Llibre" <nomailreplies@nowhere.com> skrev i melding
    > news:ePYWQ8CMIHA.3852@TK2MSFTNGP06.phx.gbl...
    >> You don't have to issue a 301...
    >>
    >> Your request sounds like a job for Ionic's ISAPI Rewrite Filter, but
    >> you'll only be able
    >>

    >
    >
    > to use it on a server you control. Shared hosters seldom let you install
    >
    >> ISAPI filters.
    >>
    >> IIRF :
    >> http://cheeso.members.winisp.net/IIRF.aspx
    >>
    >> It's free.
    >>
    >> To remove default.aspx from the URL, you'd use :
    >>
    >> RewriteRule (.*)/default.aspx$ $1/ [I,RP]
    >>
    >>
    >>
    >>
    >>
    >> Juan T. Llibre, asp.net MVP
    >> asp.net faq : http://asp.net.do/faq/
    >> foros de asp.net, en espaņol : http://asp.net.do/foros/
    >> ======================================
    >> "Eirik Eldorsen" <eirik@increo.no> wrote in message
    >> news:edCBwHCMIHA.820@TK2MSFTNGP06.phx.gbl...
    >>> Yeah I now how to 301 redirect. The problem is to do it with
    >>> default.aspx, without causing an infinite loop. The homepage has 2

    > url's
    >>> www.eample.com/default.aspx and www.example.com. I want to 301

    > redirect
    >>> anyone who get default.aspx in the url.
    >>>
    >>> Request.RawUrl returns default.aspx in both cases, so i can't figure

    > out
    >>> how to check if the user has default.aspx in his url.
    >>>
    >>>
    >>>
    >>> "Andrew Brook" <ykoorb@hotmail.com> skrev i melding
    >>> news:%232pj3eBMIHA.3940@TK2MSFTNGP05.phx.gbl...
    >>>> If i recall correctly, can't you just set this up in IIS, i just

    > googled
    >>>> "301 redirect" and got
    >>>> http://www.webconfs.com/how-to-redirect-a-webpage.php as the first
    >>>> link...
    >>>>
    >>>>
    >>>> Andrew
    >>>>
    >>>> "Eirik Eldorsen" <eirik@increo.no> wrote in message
    >>>> news:ef1m%23WBMIHA.4272@TK2MSFTNGP05.phx.gbl...
    >>>>> How can I 301 redirect www.example.com/default.aspx to

    > www.example.com
    >>>>> without using ISAPI filters?
    >>>>>
    >>>>>
    >>>>>
    >>>>
    >>>>
    >>>
    >>>

    >>
    >>

    >
    >



  8. Default Re: How to 301 redirect default.aspx to root

    Yes, that's what I initially thought, too, but ran into a wall.

    Have you actually tested that ?
    IIRC, when I tried somthing similar, with InStr, I ended up in an endless redirect loop.





    Juan T. Llibre, asp.net MVP
    asp.net faq : http://asp.net.do/faq/
    foros de asp.net, en espaņol : http://asp.net.do/foros/
    ======================================
    "ThatsIT.net.au" <me@thatsit> wrote in message news:2DFD22EA-87A7-499D-94B7-41FC8CC3DC3A@microsoft.com...
    > am I missing something?
    >
    > would a few lines like this do?
    >
    >
    > Dim url As String = Request.ServerVariables("URL")
    > If InStr(url, "default.aspx") <> 0 Then
    > Response.Redirect("/")
    > End If
    >
    >
    > "Dave Bush" <davembush@dmbcllc.com> wrote in message news:623D89CCDA0840B38E99691CFA321876@OfficeVista...
    >> You can do this in an httpmodule
    >>
    >> Here's one I wrote that uses a table in a database to match and replace.
    >> It will handle 404 errors as well as being pre-emptive. It will either
    >> do a 301 redirect or RewritePath (based on flag in db)
    >>
    >> Table Schema:
    >> OldUrl : varchar(n) - RegEx match or literal (based on field below)
    >> NewUrl : varchar(n) - literal url to redirect to
    >> Redirect301: bit - true if 301 redirect, false if RewritePath
    >> Literal: bit - specifies that the OldUrl is a literal value and not a
    >> pattern match.
    >>
    >> I use this in my DotNetNuke sites regularly.
    >>
    >> ----< code start > ---
    >>
    >> using System;
    >> using System.Collections.Generic;
    >> using System.Text;
    >> using System.Web;
    >> using System.Text.RegularExpressions;
    >> using System.Web.Caching;
    >>
    >> namespace DNNRedirect
    >> {
    >> public class HttpModule : IHttpModule
    >> {
    >> public HttpModule()
    >> {
    >> //
    >> // TODO: Add constructor logic here
    >> //
    >> }
    >>
    >> public void Init(HttpApplication app)
    >> {
    >> app.BeginRequest += new EventHandler(this.OnBeginRequest);
    >> }
    >>
    >> public void OnBeginRequest(object s, EventArgs e)
    >> {
    >> HttpApplication app = (HttpApplication)s;
    >> HttpRequest request = app.Request;
    >> HttpResponse response = app.Response;
    >> String requestUrl = request.Url.AbsoluteUri;
    >> String domainPath =
    >> request.Url.AbsoluteUri.Replace(request.Url.PathAndQuery, "");
    >> String appPath = request.ApplicationPath;
    >> if (appPath.Length > 2)
    >> appPath += "/";
    >> appPath = domainPath + appPath;
    >>
    >> RedirectorDataSet.dmbcllcRedirectDataTable redirectTable;
    >> redirectTable = RedirectController.GetData();
    >> int rowIndex = 0;
    >> // Handle 404 Errors.
    >> if (request.ServerVariables["QUERY_STRING"].Length > 4 &&
    >> request.ServerVariables["QUERY_STRING"].StartsWith("404;"))
    >> {
    >> requestUrl =
    >> request.ServerVariables["QUERY_STRING"].Substring(4).ToLower();
    >> }
    >> // Otherwise, be pre-emptive.
    >>
    >> string newURL = null;
    >> bool redirect = false;
    >> for (rowIndex = 0; rowIndex < redirectTable.Rows.Count;
    >> rowIndex++)
    >> {
    >> RedirectorDataSet.dmbcllcRedirectRow row =
    >> (RedirectorDataSet.dmbcllcRedirectRow)(redirectTable.Rows[rowIndex]);
    >> if (row.Literal)
    >> {
    >> row.OldUrl = row.OldUrl.Replace("~/", appPath);
    >> if (row.OldUrl.ToLower() == requestUrl.ToLower())
    >> {
    >> newURL = row.NewUrl;
    >> redirect = row.Redirect301;
    >> break;
    >> }
    >> }
    >> else
    >> {
    >> row.OldUrl = row.OldUrl.Replace("~/",
    >> Regex.Escape(appPath));
    >> if (Regex.IsMatch(requestUrl, row.OldUrl,
    >> RegexOptions.IgnoreCase))
    >> {
    >> newURL = Regex.Replace(requestUrl, row.OldUrl,
    >> row.NewUrl, RegexOptions.IgnoreCase);
    >> redirect = row.Redirect301;
    >> break;
    >> }
    >> }
    >> }
    >>
    >> if (newURL != null)
    >> {
    >> newURL = newURL.Replace("~/", appPath);
    >> if (newURL.ToLower() != requestUrl.ToLower())
    >> {
    >> if (redirect)
    >> {
    >> response.Status = "301 Moved Permanently";
    >> response.AddHeader("Location", newURL);
    >> response.End();
    >> return;
    >> }
    >> else
    >> {
    >> response.ClearContent();
    >> response.StatusCode = 200;
    >> newURL = newURL.Replace(appPath, "~/");
    >> HttpContext.Current.RewritePath(newURL);
    >> }
    >> }
    >> }
    >> }
    >> public void Dispose()
    >> {
    >> }
    >> }
    >>
    >> }
    >>
    >> ----< end > ----
    >>
    >> -----Original Message-----
    >> From: Eirik Eldorsen [mailto:eirik@increo.no]
    >> Posted At: Monday, November 26, 2007 8:28 AM
    >> Posted To: microsoft.public.dotnet.framework.aspnet
    >> Conversation: How to 301 redirect default.aspx to root
    >> Subject: Re: How to 301 redirect default.aspx to root
    >>
    >> Thanks. I was hoping to find a solution without using ISAPI filter, but
    >> I
    >> guess that is the only option, or wait till IIS7 is available.
    >>
    >> Eirik
    >>
    >> "Juan T. Llibre" <nomailreplies@nowhere.com> skrev i melding
    >> news:ePYWQ8CMIHA.3852@TK2MSFTNGP06.phx.gbl...
    >>> You don't have to issue a 301...
    >>>
    >>> Your request sounds like a job for Ionic's ISAPI Rewrite Filter, but
    >>> you'll only be able
    >>>

    >>
    >>
    >> to use it on a server you control. Shared hosters seldom let you install
    >>
    >>> ISAPI filters.
    >>>
    >>> IIRF :
    >>> http://cheeso.members.winisp.net/IIRF.aspx
    >>>
    >>> It's free.
    >>>
    >>> To remove default.aspx from the URL, you'd use :
    >>>
    >>> RewriteRule (.*)/default.aspx$ $1/ [I,RP]
    >>>
    >>>
    >>>
    >>>
    >>>
    >>> Juan T. Llibre, asp.net MVP
    >>> asp.net faq : http://asp.net.do/faq/
    >>> foros de asp.net, en espaņol : http://asp.net.do/foros/
    >>> ======================================
    >>> "Eirik Eldorsen" <eirik@increo.no> wrote in message
    >>> news:edCBwHCMIHA.820@TK2MSFTNGP06.phx.gbl...
    >>>> Yeah I now how to 301 redirect. The problem is to do it with
    >>>> default.aspx, without causing an infinite loop. The homepage has 2

    >> url's
    >>>> www.eample.com/default.aspx and www.example.com. I want to 301

    >> redirect
    >>>> anyone who get default.aspx in the url.
    >>>>
    >>>> Request.RawUrl returns default.aspx in both cases, so i can't figure

    >> out
    >>>> how to check if the user has default.aspx in his url.
    >>>>
    >>>>
    >>>>
    >>>> "Andrew Brook" <ykoorb@hotmail.com> skrev i melding
    >>>> news:%232pj3eBMIHA.3940@TK2MSFTNGP05.phx.gbl...
    >>>>> If i recall correctly, can't you just set this up in IIS, i just

    >> googled
    >>>>> "301 redirect" and got
    >>>>> http://www.webconfs.com/how-to-redirect-a-webpage.php as the first
    >>>>> link...
    >>>>>
    >>>>>
    >>>>> Andrew
    >>>>>
    >>>>> "Eirik Eldorsen" <eirik@increo.no> wrote in message
    >>>>> news:ef1m%23WBMIHA.4272@TK2MSFTNGP05.phx.gbl...
    >>>>>> How can I 301 redirect www.example.com/default.aspx to

    >> www.example.com
    >>>>>> without using ISAPI filters?
    >>>>>>
    >>>>>>
    >>>>>>
    >>>>>
    >>>>>
    >>>>
    >>>>
    >>>
    >>>

    >>
    >>

    >




  9. Default Re: How to 301 redirect default.aspx to root


    "Juan T. Llibre" <nomailreplies@nowhere.com> wrote in message
    news:OUczj5bNIHA.3400@TK2MSFTNGP03.phx.gbl...
    > Yes, that's what I initially thought, too, but ran into a wall.
    >
    > Have you actually tested that ?
    > IIRC, when I tried somthing similar, with InStr, I ended up in an endless
    > redirect loop.
    >
    >


    Yes I did test it it worked fine, thats why I asked if I was missing
    something.
    Try It again maybe you made a simple error because its working for me


    >
    >
    >
    > Juan T. Llibre, asp.net MVP
    > asp.net faq : http://asp.net.do/faq/
    > foros de asp.net, en espaņol : http://asp.net.do/foros/
    > ======================================
    > "ThatsIT.net.au" <me@thatsit> wrote in message
    > news:2DFD22EA-87A7-499D-94B7-41FC8CC3DC3A@microsoft.com...
    >> am I missing something?
    >>
    >> would a few lines like this do?
    >>
    >>
    >> Dim url As String = Request.ServerVariables("URL")
    >> If InStr(url, "default.aspx") <> 0 Then
    >> Response.Redirect("/")
    >> End If
    >>
    >>
    >> "Dave Bush" <davembush@dmbcllc.com> wrote in message
    >> news:623D89CCDA0840B38E99691CFA321876@OfficeVista...
    >>> You can do this in an httpmodule
    >>>
    >>> Here's one I wrote that uses a table in a database to match and replace.
    >>> It will handle 404 errors as well as being pre-emptive. It will either
    >>> do a 301 redirect or RewritePath (based on flag in db)
    >>>
    >>> Table Schema:
    >>> OldUrl : varchar(n) - RegEx match or literal (based on field below)
    >>> NewUrl : varchar(n) - literal url to redirect to
    >>> Redirect301: bit - true if 301 redirect, false if RewritePath
    >>> Literal: bit - specifies that the OldUrl is a literal value and not a
    >>> pattern match.
    >>>
    >>> I use this in my DotNetNuke sites regularly.
    >>>
    >>> ----< code start > ---
    >>>
    >>> using System;
    >>> using System.Collections.Generic;
    >>> using System.Text;
    >>> using System.Web;
    >>> using System.Text.RegularExpressions;
    >>> using System.Web.Caching;
    >>>
    >>> namespace DNNRedirect
    >>> {
    >>> public class HttpModule : IHttpModule
    >>> {
    >>> public HttpModule()
    >>> {
    >>> //
    >>> // TODO: Add constructor logic here
    >>> //
    >>> }
    >>>
    >>> public void Init(HttpApplication app)
    >>> {
    >>> app.BeginRequest += new EventHandler(this.OnBeginRequest);
    >>> }
    >>>
    >>> public void OnBeginRequest(object s, EventArgs e)
    >>> {
    >>> HttpApplication app = (HttpApplication)s;
    >>> HttpRequest request = app.Request;
    >>> HttpResponse response = app.Response;
    >>> String requestUrl = request.Url.AbsoluteUri;
    >>> String domainPath =
    >>> request.Url.AbsoluteUri.Replace(request.Url.PathAndQuery, "");
    >>> String appPath = request.ApplicationPath;
    >>> if (appPath.Length > 2)
    >>> appPath += "/";
    >>> appPath = domainPath + appPath;
    >>>
    >>> RedirectorDataSet.dmbcllcRedirectDataTable redirectTable;
    >>> redirectTable = RedirectController.GetData();
    >>> int rowIndex = 0;
    >>> // Handle 404 Errors.
    >>> if (request.ServerVariables["QUERY_STRING"].Length > 4 &&
    >>> request.ServerVariables["QUERY_STRING"].StartsWith("404;"))
    >>> {
    >>> requestUrl =
    >>> request.ServerVariables["QUERY_STRING"].Substring(4).ToLower();
    >>> }
    >>> // Otherwise, be pre-emptive.
    >>>
    >>> string newURL = null;
    >>> bool redirect = false;
    >>> for (rowIndex = 0; rowIndex < redirectTable.Rows.Count;
    >>> rowIndex++)
    >>> {
    >>> RedirectorDataSet.dmbcllcRedirectRow row =
    >>> (RedirectorDataSet.dmbcllcRedirectRow)(redirectTable.Rows[rowIndex]);
    >>> if (row.Literal)
    >>> {
    >>> row.OldUrl = row.OldUrl.Replace("~/", appPath);
    >>> if (row.OldUrl.ToLower() == requestUrl.ToLower())
    >>> {
    >>> newURL = row.NewUrl;
    >>> redirect = row.Redirect301;
    >>> break;
    >>> }
    >>> }
    >>> else
    >>> {
    >>> row.OldUrl = row.OldUrl.Replace("~/",
    >>> Regex.Escape(appPath));
    >>> if (Regex.IsMatch(requestUrl, row.OldUrl,
    >>> RegexOptions.IgnoreCase))
    >>> {
    >>> newURL = Regex.Replace(requestUrl, row.OldUrl,
    >>> row.NewUrl, RegexOptions.IgnoreCase);
    >>> redirect = row.Redirect301;
    >>> break;
    >>> }
    >>> }
    >>> }
    >>>
    >>> if (newURL != null)
    >>> {
    >>> newURL = newURL.Replace("~/", appPath);
    >>> if (newURL.ToLower() != requestUrl.ToLower())
    >>> {
    >>> if (redirect)
    >>> {
    >>> response.Status = "301 Moved Permanently";
    >>> response.AddHeader("Location", newURL);
    >>> response.End();
    >>> return;
    >>> }
    >>> else
    >>> {
    >>> response.ClearContent();
    >>> response.StatusCode = 200;
    >>> newURL = newURL.Replace(appPath, "~/");
    >>> HttpContext.Current.RewritePath(newURL);
    >>> }
    >>> }
    >>> }
    >>> }
    >>> public void Dispose()
    >>> {
    >>> }
    >>> }
    >>>
    >>> }
    >>>
    >>> ----< end > ----
    >>>
    >>> -----Original Message-----
    >>> From: Eirik Eldorsen [mailto:eirik@increo.no]
    >>> Posted At: Monday, November 26, 2007 8:28 AM
    >>> Posted To: microsoft.public.dotnet.framework.aspnet
    >>> Conversation: How to 301 redirect default.aspx to root
    >>> Subject: Re: How to 301 redirect default.aspx to root
    >>>
    >>> Thanks. I was hoping to find a solution without using ISAPI filter, but
    >>> I
    >>> guess that is the only option, or wait till IIS7 is available.
    >>>
    >>> Eirik
    >>>
    >>> "Juan T. Llibre" <nomailreplies@nowhere.com> skrev i melding
    >>> news:ePYWQ8CMIHA.3852@TK2MSFTNGP06.phx.gbl...
    >>>> You don't have to issue a 301...
    >>>>
    >>>> Your request sounds like a job for Ionic's ISAPI Rewrite Filter, but
    >>>> you'll only be able
    >>>>
    >>>
    >>>
    >>> to use it on a server you control. Shared hosters seldom let you install
    >>>
    >>>> ISAPI filters.
    >>>>
    >>>> IIRF :
    >>>> http://cheeso.members.winisp.net/IIRF.aspx
    >>>>
    >>>> It's free.
    >>>>
    >>>> To remove default.aspx from the URL, you'd use :
    >>>>
    >>>> RewriteRule (.*)/default.aspx$ $1/ [I,RP]
    >>>>
    >>>>
    >>>>
    >>>>
    >>>>
    >>>> Juan T. Llibre, asp.net MVP
    >>>> asp.net faq : http://asp.net.do/faq/
    >>>> foros de asp.net, en espaņol : http://asp.net.do/foros/
    >>>> ======================================
    >>>> "Eirik Eldorsen" <eirik@increo.no> wrote in message
    >>>> news:edCBwHCMIHA.820@TK2MSFTNGP06.phx.gbl...
    >>>>> Yeah I now how to 301 redirect. The problem is to do it with
    >>>>> default.aspx, without causing an infinite loop. The homepage has 2
    >>> url's
    >>>>> www.eample.com/default.aspx and www.example.com. I want to 301
    >>> redirect
    >>>>> anyone who get default.aspx in the url.
    >>>>>
    >>>>> Request.RawUrl returns default.aspx in both cases, so i can't figure
    >>> out
    >>>>> how to check if the user has default.aspx in his url.
    >>>>>
    >>>>>
    >>>>>
    >>>>> "Andrew Brook" <ykoorb@hotmail.com> skrev i melding
    >>>>> news:%232pj3eBMIHA.3940@TK2MSFTNGP05.phx.gbl...
    >>>>>> If i recall correctly, can't you just set this up in IIS, i just
    >>> googled
    >>>>>> "301 redirect" and got
    >>>>>> http://www.webconfs.com/how-to-redirect-a-webpage.php as the first
    >>>>>> link...
    >>>>>>
    >>>>>>
    >>>>>> Andrew
    >>>>>>
    >>>>>> "Eirik Eldorsen" <eirik@increo.no> wrote in message
    >>>>>> news:ef1m%23WBMIHA.4272@TK2MSFTNGP05.phx.gbl...
    >>>>>>> How can I 301 redirect www.example.com/default.aspx to
    >>> www.example.com
    >>>>>>> without using ISAPI filters?
    >>>>>>>
    >>>>>>>
    >>>>>>>
    >>>>>>
    >>>>>>
    >>>>>
    >>>>>
    >>>>
    >>>>
    >>>
    >>>

    >>

    >
    >



+ Reply to Thread

Similar Threads

  1. Redirect from userdisp.aspx to MySite View
    By Application Development in forum Sharepoint
    Replies: 0
    Last Post: 09-21-2007, 12:20 AM
  2. Breadcrumbs Default redirect page
    By Application Development in forum Sharepoint
    Replies: 0
    Last Post: 07-31-2007, 07:20 PM
  3. default.aspx not loading by default
    By Application Development in forum Sharepoint
    Replies: 3
    Last Post: 07-04-2007, 05:01 AM
  4. Easy (hopefully) Q about URL and default.aspx
    By Application Development in forum Sharepoint
    Replies: 1
    Last Post: 05-19-2007, 12:53 PM
  5. SharePoint default.aspx problems
    By Application Development in forum Sharepoint
    Replies: 0
    Last Post: 08-11-2006, 10:19 AM