A pinch of PHP
Ok. We saw what we need to do in order to have Apache behave properly. Now we can unleash the PHP beast in each of us to generate useful content. We will go ahead and stick to our articles example. Let's say you have an site database with an articles table. Here's the table structure:
CREATE TABLE
`articles` (
`id` tinyint(3) unsigned NOT NULL auto_increment,
`title` varchar(75) NOT NULL default '',
`article` text NOT NULL,
PRIMARY KEY (`id`)
);
?>
Ok. Just make sure you don't have more than 256 articles.
Now, let's decide on how we want the urls to look. Actually, let me decide. http://yoursite.com/article/xii looks pretty damn cool. Now we just need to write the parse the REQUEST_URI, query our database, and then display the article. Sounds easy enough, right? Let's get to work.
<?php
$article_roman = substr($_SERVER['REQUEST_URI'], strrpos($_SERVER['REQUEST_URI'], '/')+1, strlen($_SERVER['REQUEST_URI'));
$article_id = Numbers_Roman::toNumber($article_roman);
$result = mysql_query("SELECT * FROM articles WHERE id = {$article_id}") or die(mysql_error());
$article_data = mysql_fetch_assoc($result);
echo "Title: {$article_data['title']}<br /><br />";
echo $article_data['article'];
?>
?>
Let's go over this code line by line. The first two lines just parse out the REQUEST_URI and get the last part of it (the roman numeral). Then it converts that to a numeric value using Pear's Numbers_Roman class.
The next two lines query the database for the article with the appropriate id.
The last two lines echo the title and content of the article.
Pretty easy, no?
View Friendly URL's Discussion
Page: 1 2 3 4 Next Page: Making friends is fun