============
URL Rewrites
============

-------------------
Module: mod_rewrite
-------------------

:Author: Jan Kneschke
:Date: $Date: 2004/11/03 22:26:05 $
:Revision: $Revision: 1.2 $

:abstract:
  url rewrite

.. meta::
  :keywords: lighttpd, rewrite

.. contents:: Table of Contents

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

internal redirects, url rewrite

Options
=======

url.rewrite-once
  rewrites a set of URLs interally in the webserver BEFORE they are handled.

  e.g. ::

    url.rewrite-once = ( "<regex>" => "<relative-uri>" )

url.rewrite-repeat
  rewrites a set of URLs interally in the webserver BEFORE they are handled

  e.g. ::

    url.rewrite-repeat = ( "<regex>" => "<relative-uri>" )

The options ``url.rewrite`` and ``url.rewrite-final`` were mapped to ``url.rewrite-once``
in 1.3.16.

Examples
========

The regex is matching the full REQUEST_URI which is supplied by the user including
query-string.::

  url.rewrite-once = ( "^/id/([0-9]+)$" => "/index.php?id=$1",
                       "^/link/([a-zA-Z]+)" => "/index.php?link=$1" )



  # the following example, is, however just simulating vhost by rewrite
  # * you can never change document-root by mod_rewrite
  # use mod_*host instead to make real mass-vhost

  # request:        http://any.domain.com/url/
  # before rewrite: REQUEST_URI="/www/htdocs/url/"
  # and DOCUMENT_ROOT="/www/htdocs/" %0="www.domain.com" $1="url/"
  # after rewrite:  REQUEST_URI="/www/htdocs/domain.com/url/"
  # still, you have DOCUMENT_ROOT=/www/htdocs/

  server.document-root = "/www/htdocs/"
  $HTTP["host"] =~ "^.*\.([^.]+\.com)$" {
    url.rewrite-once = ( "^/(.*)" => "/%0/$1" )
  }

