Problema de reescritura de URL
-
03-07-2019 - |
Pregunta
he creado un sitio web en php.
Hay una lista de títulos de historias almacenadas en la base de datos y cuando el usuario hace clic en cualquier título entre ellos, el usuario es redirigido a una página con una cadena de consulta. como story.php? id = 25
Esto significa que ahora se mostrará la historia con ID 25. Ahora quiero reescribir URL pero cuando lo reescribo ocurre un problema.
En la página story.php, estoy leyendo la cadena de consulta como $ _GET ['id'] ... pero después de reescribir la URL no puedo leerlo así. ¿Puede algún cuerpo sugerir qué hacer?
Solución
Si realizó algunos ajustes en su cadena de URL, podría hacer esto.
http://www.domain.com/story.php?story = 25 & amp; title = some_name
Que después de reescribir podría ser esto.
http://www.domain.com/25/some_name.html
Código :
RewriteEngine On
RewriteRule ^story/([^/]*)/([^/]*)\.html$ /story.php?story=$1&title=$2 [L]
Otros consejos
Puede usar .htaccess para reescribir las URL largas del lado del servidor, pero no redirigir el navegador (por lo que aún muestra la URL larga en la barra de direcciones), algo así como:
RewriteEngine on
RewriteRule story\/(\d+)\/(.+) story.php?id=$1
Simplemente haga que sus enlaces largos se vean como www.site.com/story/25/This_is_the_title