301 Redirect Question

Discussion in 'Search Engine Optimization' started by twalters84, Aug 11, 2009.

  1. #1
    Greetings,

    I had a problem with my site earlier. It has been resolved, but it got me thinking a little bit about 301 redirects.

    301 usually says this page has been moved permanently.

    What if somebody types some random URL on your domain and lands on a page that does not exist?

    Is there a way to create a "catch-all-page" that the user would goto automatically? For instance, if the page does not exist, transfer the user to the home page?

    Thanks for any information about this. I think having a script that does this would be much better than the error page the user sees.

    Sincerely,
    Travis Walters
     
    twalters84, Aug 11, 2009 IP
  2. GMBRDILOS

    GMBRDILOS Well-Known Member

    Messages:
    573
    Likes Received:
    6
    Best Answers:
    0
    Trophy Points:
    130
    #2

    Here are some types of 301 redirection, maybe it will help You

    PHP Single Page Redirect

    In order to redirect a static page to a new address simply enter the code below inside the index.php file.

    <?php
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: http://www.newdomain.com/page.html");
    exit();
    ?>

    PHP Canonical Redirect

    The Canonical 301 Redirect will add (or remove) the www. prefixes to all the pages inside your domain. The code below redirects the visitors of the http://domain.com version to http://www.domain.com.

    <?php
    if (substr($_SERVER['HTTP_HOST'],0,3) != ‘www’) {
    header(’HTTP/1.1 301 Moved Permanently’);
    header(’Location: http://www.’.$_SERVER['HTTP_HOST']
    .$_SERVER['REQUEST_URI']);
    }
    ?>

    Apache .htaccess Canonical Redirect

    Follow the same steps as before but insert the code below instead (it will redirect all the visitors accessing http://domain.com to http://www.domain.com)

    Options +FollowSymlinks
    RewriteEngine on
    rewritecond %{http_host} ^domain.com [nc]
    rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]


    ASP Single Page Redirect

    This redirect method is used with the Active Server Pages platform.

    <%
    Response.Status="301 Moved Permanently"
    Response.AddHeader='Location','http://www.new-url.com/'
    %>


    ASP Canonical Redirect

    The Canonical Redirect with ASP must be located in a script that is executed in every page on the server before the page content starts.

    <%
    If InStr(Request.ServerVariables("SERVER_NAME"),"www") = 0 Then
    Response.Status="301 Moved Permanently"
    Response.AddHeader "Location","http://www."
    & Request.ServerVariables("HTTP_HOST")
    & Request.ServerVariables("SCRIPT_NAME")
    End if
    %>


    HTTP 301 Redirect in ASP-VBScript

    <%@ Language=VBScript %>
    <%
    ' Permanent redirection
    Response.Status = "301 Moved Permanently"
    Response.AddHeader "Location", "http://www.domain.com/"
    Response.End
    %>


    Redirection with Javascript

    <html>
    <head>
    <script type="text/javascript">
    window.location.href='http://www.domain.com/';
    </script>
    </head>
    <body>
    This page has moved to <a href="http://domain.com/">http://domain.com/</a>

    </body>
    </html>


    Redirection with META Refresh

    <html>
    <head>
    <meta http-equiv="refresh" content="0;url=http://www.domain.com/">
    </head>
    <body>
    This page has moved to <a href="http://domain.com/">http://domain.com/</a>
    </body>
    </html>


    Vilen
     
    GMBRDILOS, Aug 11, 2009 IP
  3. twalters84

    twalters84 Peon

    Messages:
    514
    Likes Received:
    7
    Best Answers:
    0
    Trophy Points:
    0
    #3
    Hey there,

    The problem is not so much how to do a 301 redirect...

    If the page exists, I can do the redirect easy.

    However, I was interested in doing them on non-existent pages.

    For instance if somebody goes to www.example.com/dsgsdgsdgsdgsdgsdg.cfm the page will not exist but it would be nice if I could redirect the user to the home page www.example.com.

    Sincerely,
    Travis Walters
     
    twalters84, Aug 11, 2009 IP
  4. jitendraag

    jitendraag Notable Member

    Messages:
    3,982
    Likes Received:
    324
    Best Answers:
    1
    Trophy Points:
    270
    #4
    I don't think you should have a 301 for missing pages. You should have a great 404 page instead. If you still want, stick to 404 and show homepage content.
     
    jitendraag, Aug 11, 2009 IP