당신은 (일반적으로 그냥 index.php를 스크립트입니다) 프런트 컨트롤러로 모든 요청을 전달하는 htaccess로 파일을 사용하십시오 다음이 스크립트는 데이터베이스의 레코드에 들어오는 요청과 일치합니다.당신이 있다면
예를 들어, 데이터베이스 테이블은 네 개의 열이 pages
라고 : id
, title
, slug
및 content
, 다음과 같은 것이 간단한 구현 ...이 아파치를 알려줍니다
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
[웹 응용 프로그램 용 예쁜 URL] (http : //stackoverflow.com/questions/5142095/pretty-urls-for-web-application) – mario