Mysql
 sql >> Base de données >  >> RDS >> Mysql

Base de données de requête de réécriture d'URL ?

Vous regardez cela dans la mauvaise direction. Vous ne pouvez pas faire ce genre de réécriture automatique d'url. Le mieux est de créer une réécriture complète de l'url :

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

et créez un nom spécifique pour un utilisateur dans la base de données qui sera utilisé comme URL.

+---------+----------+------+-----------+----------------+
| user_id | username | name | surname   | url            |
+---------+----------+------+-----------+----------------+
|      23 | liam     | Liam | Gallagher | liam-gallagher |
+---------+----------+------+-----------+----------------+

Désormais, lorsque quelqu'un accède à votre http://mysite.com/directory/liam-gallagher , vous pouvez lire la dernière entrée et trouver le user_id dans votre base de données et laissez votre script faire le reste.

L'autre façon est comme Pekka suggéré. Créez une URL comme http://mysite.com/directory/23/liam-gallagher et lisez l'identifiant à partir du lien. Mais personnellement, je n'aime pas ce genre d'urls. Ce ne sont que des solutions de contournement rapides/paresseuses à mon avis.