FREE THOUGHT · FREE SOFTWARE · FREE WORLD

301 Redirect Cheatsheet

301-redirectsI got tired of always having to search google to remember the syntax for issuing seo friendly (300, 301, 302, 303, 305, 306, 307) Redirects using multiple programming languages and methods... so I made my own list!

Redirection Methods

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 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 https://www.askapache.com after 0 seconds.


Redirect with javascript

These go in the section of your html.

Basic javascript Redirect method

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


Redirect after specific time period

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


Redirect with PHP

Using "Location" header


Using "Refresh" header


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

Redirect with Perl

Simple 301 Redirect with perl

#!/usr/bin/env perl
my $URL = "https://www.askapache.com";
print "Status: 301 Moved\r\nLocation: $URL\r\n";

Simpler 301 Redirect with perl

#!/usr/bin/env perl
print "Status: 301 Moved\r\nLocation: https://www.askapache.com\r\n";
exit;

Redirect with ColdFusion (CFM)

Using cheader for 301 "permanent" redirect




Using clflocation for 302 "temporary" redirect


Redirect with ASP (VB Script)

301 Redirect

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

Redirect with shell script

301Redirect with sh shell script

#!/bin/sh -p
echo -e "Status: 301 Moved Permanently\r\nLocation: https://www.askapache.com\r\n"
echo -e "Content-type: text/html\r\n"
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 domain.tld/301-redirect.html to https://www.askapache.com

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

302 Redirect

Redirects temporarily when a request is made to domain.tld/301-redirect.html to https://www.askapache.com

RewriteEngine On
RewriteBase /
RewriteRule ^301-redirect\.html$ https://www.askapache.com [R,NC,L]

Redirect with mod_alias in apache htaccess

301 Redirect

Redirect 301 /301-redirect.html https://www.askapache.com

or with RedirectPerm

RedirectPerm /301-redirect.html https://www.askapache.com

or with RedirectMatch

RedirectMatch 301 ^301-redirect\.html$ https://www.askapache.com

302 Redirect

Redirect 302 /301-redirect.html https://www.askapache.com

or with RedirectTemp

RedirectTemp /301-redirect.html https://www.askapache.com

or with RedirectMatch

RedirectMatch 302 ^301-redirect\.html$ https://www.askapache.com

Redirect with ErrorDocument in apache htaccess

302 Redirect

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

ErrorDocument 404 https://www.askapache.com

Redirect with Python / Django

Thanks to thebjorn for contributing this first one, which issues a 302 Redirect.

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

This example was contributed by John and shows how to issue a proper 301 Redirect, additional info on this below the example.

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

Django includes a number of HttpResponse subclasses that handle different types of HTTP responses. Like HttpResponse, these subclasses live in django.http.

HttpResponseRedirect
The constructor takes a single argument -- the path to redirect to. This can be a fully qualified URL (e.g. 'https://www.askapache.com/htaccess/') or an absolute URL with no domain (e.g. '/htaccess/'). Note that this returns an HTTP status code 302.
HttpResponsePermanentRedirect
Like HttpResponseRedirect, but it returns a permanent redirect (HTTP status code 301) instead of a "found" redirect (status code 302).
HttpResponseNotModified
The constructor doesn't take any arguments. Use this to designate that a page hasn't been modified since the user's last request (status code 304).

More Redirect Info

Htaccess 301 Htaccess Redirect URL redirection

 

 

Comments