Problema di riscrittura URL
-
03-07-2019 - |
Domanda
ho creato un sito Web in php.
Esiste un elenco di titoli di storie archiviati nel database e quando l'utente fa clic su un titolo tra loro, l'utente viene reindirizzato a una pagina con una stringa di query su di esso. come story.php? id = 25
Ciò significa che verrà visualizzata la storia con ID 25. Ora voglio riscrivere l'URL ma quando lo riscrivo si verifica un problema.
Nella pagina story.php sto leggendo la stringa di query come $ _GET ['id'] .. ma dopo la riscrittura dell'URL non riesco a leggerlo in questo modo. Qualcuno può suggerire cosa fare
Soluzione
Se hai apportato alcune modifiche alla tua stringa URL puoi farlo.
http://www.domain.com/story.php?story = 25 & amp; title = some_name
Che dopo la riscrittura potrebbe essere questo.
http://www.domain.com/25/some_name.html
Codice:
RewriteEngine On
RewriteRule ^story/([^/]*)/([^/]*)\.html$ /story.php?story=$1&title=$2 [L]
Altri suggerimenti
Puoi usare .htaccess per riscrivere il lato server URL lungo, ma non reindirizzare il browser (quindi mostra ancora l'URL lungo nella barra degli indirizzi), qualcosa del tipo:
RewriteEngine on
RewriteRule story\/(\d+)\/(.+) story.php?id=$1
Rendi solo i tuoi lunghi link simili a www.site.com/story/25/This_is_the_title