如何使网址为seo友好。 现在链接就像 http://www.example.com/memorial.php?id=354
我们希望它是http://www.example.com/firstname-middlename-lastname
所以这里有来自db的第一个,最后一个和中间名,基于id。
提前感谢。
答案 0 :(得分:0)
您可以从Db中选择详细信息 您可以使用标题(“位置:http://www.example.com/firstname-middlename-lastname”); / *重定向浏览器* /
重定向答案 1 :(得分:0)
使用此方法 -
示例: - 用于添加动态slug。
1.User Table Schema就像 -
+----------------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+---------------------+------+-----+---------+----------------+
| user_id | int(11) | NO | PRI | NULL | auto_increment |
| first_name | varchar(255) | YES | | NULL | |
| middle_name | varchar(255) | YES | | NULL | |
| last_name | varchar(255) | YES | | NULL | |
| slug | varchar(255) | NO | | 0 | |
+----------------+---------------------+------+-----+---------+----------------+
在将用户信息插入User表之前,使用正则表达式来支持dnyamic seo slug-
function seo_str_replace($str){
$str = preg_replace("/^[^a-z0-9]+/", "", $str);
$str = preg_replace("/[^a-z0-9]+$/", "", $str);
$str = preg_replace("/[^a-z0-9]/", "-", $str);
return $str;
}
$first_name = $_POST['first_name'];
$middle_name = $_POST['middle_name'];
$last_name = $_POST['last_name'];
$slugArr = Array();
if(!empty($first_name)){
$slugArr[] = $first_name;
}
if(!empty($middle_name)){
$slugArr[] = $middle_name;
}
if(!empty($last_name)){
$slugArr[] = $last_name;
}
$slug = seo_str_replace(implode('-',$slugArr);
将slug插入表“User”
$sql = "insert into user(first_name,middle_name,last_name,slug)values('$first_name','$middle_name','$last_name','$slug')";
要获取子弹,您必须使用网址重写规则 http://www.example.com/memorial/firstname-middlename-lastname -
RewriteRule ^/memorial/(.*)$ /memorial.php?slug=$1
在memorial.php上获取slug&将其搜索到表格中。
$slug = $_GET['slug'];
$sql= "select user_id from User where slug = '".$slug."'";
<!---- here Start your code --->
注意:不要忘记在slug列上添加索引。