Как сделать URL для SEO дружественным.
Теперь ссылка как
http://www.example.com/memorial.php?id=354
Мы хотим, чтобы это было http://www.example.com/firstname-middlename-lastname
поэтому здесь имя, фамилия и отчество из базы данных на основе идентификатора.
заранее спасибо.
Вы можете выбрать детали из базы данных, затем
Вы можете использовать заголовок («Местоположение: http://www.example.com/firstname-middlename-lastname«); / * Перенаправить браузер * /
перенаправить
Подход к работе с этим —
Пример:- Дается добавить динамический слизень.
1. Схема таблицы пользователя похожа на —
+----------------+---------------------+------+-----+---------+----------------+
| 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);
Вставьте слизняк в таблицу «Пользователь»
$sql = "insert into user(first_name,middle_name,last_name,slug)values('$first_name','$middle_name','$last_name','$slug')";
Чтобы получить слаг, вы должны использовать правило перезаписи для URL http://www.example.com/memorial/firstname-middlename-lastname —
RewriteRule ^/memorial/(.*)$ /memorial.php?slug=$1
На memorial.php достать слизняк & найдите его в таблице.
$slug = $_GET['slug'];
$sql= "select user_id from User where slug = '".$slug."'";
<!---- here Start your code --->
Замечания: Не забудьте добавить индекс в столбец слагов.