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

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top