Problème de réécriture d'URL
-
03-07-2019 - |
Question
j'ai créé un site web en php.
Il existe une liste de titres d’histoires stockés dans la base de données. Lorsque l’utilisateur clique sur l’un des titres, l’utilisateur est redirigé vers une page contenant une chaîne de requête. comme story.php? id = 25
Cela signifie que l'histoire avec l'identifiant 25 va maintenant être affichée. Maintenant, je veux réécrire l'URL, mais quand je le réécris, il se pose un problème.
Dans la page story.php, je lis la chaîne de requête du type $ _GET ['id'] .. mais je ne parviens pas à la lire après la réécriture de l'URL. Tout organisme peut-il suggérer quoi faire
La solution
Si vous avez apporté quelques modifications à votre chaîne d'URL, vous pouvez le faire.
http://www.domain.com/story.php?story = 25 & amp; title = nom_une
Ce qui après la réécriture pourrait être ceci.
http://www.domain.com/25/some_name.html
Code:
RewriteEngine On
RewriteRule ^story/([^/]*)/([^/]*)\.html$ /story.php?story=$1&title=$2 [L]
Autres conseils
Vous pouvez utiliser .htaccess pour réécrire le côté serveur des URL longues, sans rediriger le navigateur (il affiche donc toujours la longue URL dans la barre d'adresse), par exemple:
RewriteEngine on
RewriteRule story\/(\d+)\/(.+) story.php?id=$1
Faites en sorte que vos longs liens ressemblent à www.site.com/story/25/This_is_the_title