Как переписать URL в PHP с динамическими именами на основе идентификатора в URL

Как сделать URL для SEO дружественным.
Теперь ссылка как
http://www.example.com/memorial.php?id=354

Мы хотим, чтобы это было http://www.example.com/firstname-middlename-lastname

поэтому здесь имя, фамилия и отчество из базы данных на основе идентификатора.

заранее спасибо.

0

Решение

Вы можете выбрать детали из базы данных, затем
Вы можете использовать заголовок («Местоположение: http://www.example.com/firstname-middlename-lastname«); / * Перенаправить браузер * /
перенаправить

0

Другие решения

Подход к работе с этим —

  1. Добавьте колонну слизней в свой стол
  2. Дайте возможность добавить пользователя и динамически создать его и вставить в таблицу.
  3. Напишите ReWriteRule, чтобы понять запрос

Пример:- Дается добавить динамический слизень.

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       |                |
+----------------+---------------------+------+-----+---------+----------------+
  1. Перед вставкой пользовательской информации в таблицу 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);
    
  2. Вставьте слизняк в таблицу «Пользователь»

    $sql = "insert into user(first_name,middle_name,last_name,slug)values('$first_name','$middle_name','$last_name','$slug')";
    
  3. Чтобы получить слаг, вы должны использовать правило перезаписи для URL http://www.example.com/memorial/firstname-middlename-lastname

    RewriteRule ^/memorial/(.*)$ /memorial.php?slug=$1
    
  4. На memorial.php достать слизняк & найдите его в таблице.

     $slug = $_GET['slug'];
    $sql= "select user_id from User where slug = '".$slug."'";
    
    <!---- here Start your code --->
    

Замечания: Не забудьте добавить индекс в столбец слагов.

0

По вопросам рекламы [email protected]