Wednesday, July 2, 2008

Redirection methods in All languages

Am I missing something? Most definately! Please use the comment form below to suggest new code.
Redirect with meta http-equiv tags

These go in the <head> </head> section of your html. Usually when you use this meta redirect method you should also use the javascript method, just to be safe.
Refresh meta http-equiv tag

Redirects to http://www.askapache.com after 0 seconds.

<meta http-equiv="refresh" content="0;url=http://www.askapache.com" />

Redirect with javascript

These go in the <head> </head> section of your html.
Basic javascript Redirect method

Will redirect user to http://www.askapache.com immediately

<script type="text/javascript">
window.location.href='http://www.askapache.com';
</script>

Redirect after specific time period

This will redirect to http://www.askapache.com after 2 seconds

<body onload="javascript:setTimeout(function(){window.location.href='http://www.askapache.com'},2000);">

Redirect with PHP
Using "Location" header

<?php
header('Location:http://www.askapache.com');
exit;
exit();
?>

Using "Refresh" header

<?php
header('Refresh: 0; URL=http://www.askapache.com');
exit;
exit();
?>

Ultimate PHP method

It redirects to a page specified by "$url". $mode can be:

    * LOCATION: Redirect via Header "Location"
    * REFRESH: Redirect via Header "Refresh"
    * META: Redirect via HTML META tag
    * JS: Redirect via JavaScript command

<?php
function do_redirect($url,$mode)
{
    if (strncmp('http:',$url,5) && strncmp('https:',$url,6)) {
        $starturl = ($_SERVER["HTTPS"] == 'on' ? 'https' : 'http') . '://'.
        (empty($_SERVER['HTTP_HOST'])? $_SERVER['SERVER_NAME'] : $_SERVER['HTTP_HOST']);
        if ($url[0] != '/') $starturl .= dirname($_SERVER['PHP_SELF']).'/';
        $url = "$starturl$url";
    }
    switch($mode) {
        case 'LOCATION':
        header("Location: $url");
        exit;
        case 'REFRESH':
        header("Refresh: 0; URL=\"$url\"");
        exit;
        case 'META':
        exit;
        default:
        ?><script type="text/javascript">
        window.location.href='<?=$url?>';
        </script><?
    }
    exit;
}
?>

Redirect with Perl
Simple 302 Redirect with perl

#!/usr/bin/perl
my $URL = "http://www.askapache.com";
print "Status: 302 Moved\nLocation: $URL\n\n";

Simpler 302 Redirect with perl

#!/usr/bin/perl
print "Location: http://www.askapache.com\n\n";
exit;

Redirect with ColdFusion (CFM)
Using cheader for 301 "permanent" redirect

<cfheader statuscode="301" statustext="Moved Permanently">
<cfheader name="Location" value="http://www.askapache.com">
<cfabort>

Using clflocation for 302 "temporary" redirect

<cflocation url="http://www.askapache.com">

Redirect with ASP (VB Script)
301 Redirect

<%@ Language=VBScript %>
<%
response.status="301 moved permanently"
Response.AddHeader "Location", "http://www.askapache.com"
%>

Redirect with shell script
302 Redirect with sh shell script

#!/bin/sh
echo "Content-type: text/html"
echo "Location: http://www.askapache.com";
echo "";
exit 0;

Redirect with mod_rewrite in apache htaccess

See also Ultimate Apache htaccess article and URL Redirection
301 Redirect

Redirects permanently when a request is made to site.com/thisword.html to http://www.askapache.com

RewriteEngine On
RewriteBase /
RewriteRule ^thisword\.html$ http://www.askapache.com [R=301,NC,L]

302 Redirect

Redirects temporarily when a request is made to site.com/thisword.html to http://www.askapache.com

RewriteEngine On
RewriteBase /
RewriteRule ^thisword\.html$ http://www.askapache.com [R,NC,L]

Redirect with mod_alias in apache htaccess
301 Redirect

Redirect 301 /thisword.html http://www.askapache.com

or with RedirectPerm

RedirectPerm /thisword.html http://www.askapache.com

or with RedirectMatch

RedirectMatch 301 ^thisword\.html$ http://www.askapache.com

302 Redirect

Redirect 302 /thisword.html http://www.askapache.com

or with RedirectTemp

RedirectTemp /thisword.html http://www.askapache.com

or with RedirectMatch

RedirectMatch 302 ^thisword\.html$ http://www.askapache.com

Redirect with ErrorDocument in apache htaccess
302 Redirect

Issues a 302 Redirect to http://www.askapache.com when a file is not found. See also Force Apache to output any HTTP Status Code with ErrorDocument

ErrorDocument 404 http://www.askapache.com

Redirect with Python / Django

Thanks to thebjorn for contributing this one.

from django import http
def view(request):
return http.HttpResponseRedirect('http://www.askapache.com')

No comments:

Post a Comment