How to map URLs with PHP and lighttpd

On a number of occasions I’ve wanted to map a section of a site hosted with lighttpd onto a single PHP file that could then be used as a controller. Here is how I go about doing it.

The first part is to re-write the given part of the site to the PHP file you want to be the controller. Add the following to your configuration file:

[code lang=”ini”]
url.rewrite = (
“^/(.*)” => “/controller.php”
)
[/code]

You can then start with a simple example to see where you will get your URL information from:

[code lang=”php”]

[/code]

The $_SERVER[“REQUEST_URI”] value will be the requested URI. You can now break it up into multiple parts with explode:

[code lang=”php”]

[/code]

At this point you have an array of the URI parts and can map those however you want using PHP.

[tags]PHP, lighttpd[/tags]