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?

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top