あなたは(通常はのindex.phpスクリプトです)フロントコントローラにすべての要求を渡すようにの.htaccessファイルを使用すると思いますし、そのスクリプトは、データベース内のレコードへの着信要求と一致します。あなたが持っていた場合
は例えば、データベースのテーブルには4つの列でpages
と呼ばれる:id
、title
、slug
とcontent
、次のようになります単純な実装...これはApacheに伝え
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php/$1 [NC,L]
すべての要求を取ることファイルまたは方向ではありません。index.phpに送信してください。次のように
あなたのindex.phpはその後になります:
<?php
// Take request URI
// Would be something like 'your-slug'
$request = trim($_SERVER['REQUEST_URI'], '/');
// Set up database connection and attempt to match slug
$sql = "SELECT * FROM pages WHERE slug = ? LIMIT 1";
$smt = $db->prepare($sql);
$smt->execute(array($request));
$page = $smt->fetchObject();
if (! $page) {
// Page was not found matching slug
header('HTTP/1.1 404 Not Found');
exit;
}
// Display matching page in a template
ここから、あなたはそれに基づいて構築することができます。
[PHPフレームワークでのURLのプレビュー](http://stackoverflow.com/questions/8440490/pretty-urls-in-php-frameworks) – mario
[ //stackoverflow.com/questions/5142095/pretty-urls-for-web-application) – mario