Project

General

Profile

Actions

Mod redirect » History » Revision 17

« Previous | Revision 17/35 (diff) | Next »
Seldaek, 2008-03-27 01:16


TracNav(DocsToc)


#!rst
===============
URL Redirection
===============

--------------------
Module: mod_redirect
--------------------

.. meta::
  :keywords: lighttpd, redirect

.. contents:: Table of Contents

Description
===========

The redirect module is used to specify redirects for a set of URLs.

Options
=======

url.redirect
  redirects a set of URLs externally

  e.g. ::

    url.redirect = ( "^/show/([0-9]+)/([0-9]+)$" => "http://www.example.org/show.php?isdn=$1&page$2",
                     "^/get/([0-9]+)/([0-9]+)$"  => "http://www.example.org/get.php?isdn=$1&page$2" )

    # make an external redirect
    # from any www.host (with www.) to the host (without www.)
    $HTTP["host"] =~ "^www\.(.*)$" {
      url.redirect = ( "^/(.*)" => "http://%1/$1" )
    }

url.redirect-code (Added in 1.5.0)
  defines the http code that is sent with the redirect URL

  e.g. ::

    url.redirect-code = 302

Some people love the www part in the url. A general solution to move all non www. hosts to its www equivalent: ::

    $HTTP["host"] =~ "^([^.]+\.[^.]+)$" {
      url.redirect = (
        ".*" => "http://www.%1" 
      )
    } 

Moving any subdomains except a few to www.example.org: (Note: The second match is required since a non-match doesn't set any groups) ::

    $HTTP["host"] !~ "^(www|mail|mysql)\.(example\.org)$" {
      $HTTP["host"] =~ "^(.+\.)?(example\.org)$" {
        url.redirect = (
          "^/(.*)" => "http://www.%2/$1" 
        )
      }
    } 

Updated by Seldaek about 16 years ago · 17 revisions