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:
url.rewrite = (
"^/(.*)" => "/controller.php"
)
You can then start with a simple example to see where you will get your URL information from:
<?php
echo $_SERVER["REQUEST_URI"];
?>
The $_SERVER[“REQUEST_URI”] value will be the requested URI. You can now break it up into multiple parts with explode:
<?php
$urlParts = explode("/", $_SERVER['REQUEST_URI']);
echo $urlParts[1];
?>
At this point you have an array of the URI parts and can map those however you want using PHP.