我想知道如果可以通过PHP网站中的Apace mod-rewrite生成智能URL,并传递SQL变量的值。
谢谢!
答案 0 :(得分:1)
这是一个适用于的例子
/Customer/Detail/1234
并将其映射到
/Customer/Detail.php?ID=1234
RewriteEngine on
RewriteRule ^/Customer/Detail/([0-9]+)$ /Customer/Detail.php?ID=$1
除了自动化这个框架外,您可能还需要考虑一个好的MVC框架。
答案 1 :(得分: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" );