2011-02-04 48 views
0

我想知道如果有可能通過Apace mod-rewrite在PHP網站中傳遞一個SQL變量的值來生成智能URL。使用SQL表變量的智能URL

謝謝!

+1

你的意思是mod_rewrite並查詢數據庫生成的網址是什麼? – 2011-02-04 21:26:43

+0

是的,例如,我有以下生成的URL(http://www.example.com/product.php?p=1)dinamically,但我想要生成一個這樣的URL http://www.example.com /紅車/其中「紅車」是表產品 – z4x3r 2011-02-04 21:36:46

回答

1

這是一個適用於
/Customer/Detail/1234
並將其映射到
/Customer/Detail.php?ID=1234

​​

你可能要考慮的除了自動化這一塊別的原因了良好的MVC框架的例子。

+0

變量pd_name的內容我知道該怎麼做它通過一個post方法在URL中傳遞變量,但是,如果不通過變量傳入網址? – z4x3r 2011-02-04 21:33:04

1

當然,你可以做到這一點!您需要獲得一個連接到「醜陋」URL的「slugs」表格。列表「slug」(索引)和「ugly_url」可能會做。

mod_rewrite的:

RewriteEngine on 
RewriteRule ^/[a-zA-Z0-9-_]+$ redirect.php?slug=$1

redirect.php:

// You'll need to find out to wich ugly URL this Slug belongs to. 
// Connect to your database ... 
$slug = mysql_real_escape ((string)$_GET['slug']); 
if (empty ($slug)) 
    die ('Page not found.'); 

$query = mysql_query ("SELECT `ugly_url` FROM `slugs` WHERE `slug` = $slug LIMIT 1"); 
if (!$query) 
    die ('Page not found.'); 

$fetch = mysql_fetch_array ($query); 

$ugly_url = $fetch['ugly_url']; 
header ("Location: $ugly_url");