CREATE TABLE `titles` (
`title` VARCHAR ( 50 ) NOT NULL ,
`filename` VARCHAR ( 25 ) NOT NULL ,
`date` DATE NOT NULL
) ENGINE = MYISAM;
INSERT INTO titles VALUES ('Two Thousand Twelve, March 9th', 'y-m-d-filename', '2012-03-09');
PHP:
settings.php, file where the important MySQL information is located.
<?php
//CONNECTS TO YOUR DATABASE (MODIFY TO YOUR SETTINGS) $c = mysql_connect("server", "username", "password"); $db = mysql_select_db("your_database", $c); $table = "titles";
?>
view.php, file that will be rewritten in the yyyy/mm/dd/filename.html format.
<?php
include "settings.php"; //FILE WITH THE IMPORTANT MySQL SETTINGS
//YEAR, MONTH, DATE, AND THE FILENAME MUST BE PRESENT IN ORDER TO WORK if($_GET["y"]&&$_GET["m"]&&$_GET["d"]&&$_GET["filename"]){ $y = $_GET["y"]; $m = $_GET["m"]; $d = $_GET["d"]; $filename = $_GET["filename"];
//URL OF THE PAGE AND THE PATTERN FOR THE yyyy/mm/dd/filename.html FORMAT $uri = $_SERVER["REQUEST_URI"]; $uri_format = eregi("/([0-9]{4})/([0-9]+)/([0-9]+)/([a-z0-9_-]+)\.html", $uri);
//IF URL IS IN THE REGULAR FORM, PAGE WILL REDIRECT TO THE REWRITTEN URL if(!$uri_format){ header("Location: http://".$_SERVER["HTTP_HOST"]."/".$y."/".$m."/".$d."/".$filename.".html"); }
//SHOWS THE INFORMATION OF THE "FILENAME" $q = mysql_query("SELECT * FROM $table WHERE date='$y-$m-$d' AND filename='$filename'"); $r = mysql_fetch_assoc($q); $title = $r["title"];
echo $title; } else { //IF AT LEAST ONE OF THE VARIABLES (YEAR, MONTH, DATE, OR FILENAME) IS MISSING, THE PAGE WILL REDIRECT TO THE DEMO