Question

Mon script génère une très longue URL comme celle ci-dessous et je me demande comment cela peut être raccourci avec un algorithme ou une technique?

Ceci est l'URL longue: http://example.com/script.php?param1= valeur1 & amp; param2 = valeur2 & amp3; param3 = valeur3 & amp4; param4 = valeur4 & amp5; param5 = valeur5

Je veux le raccourcir à quelque chose comme ceci: http://example.com/script.php?p=430x2920

Comment puis-je faire cela sans mettre en cache le lien d'origine de la base de données?

Merci d'avance.

Était-ce utile?

La solution

Vous pouvez toujours utiliser un seul paramètre avec un délimiteur, puis le diviser en code.

http://example.com/script.php?p=1x2x3x4x5

avec x ou ce que vous voulez qui ne fait pas partie des valeurs possibles en tant que délimiteur.

Autres conseils

Ajouter des valeurs statiques au $ _SESSION [] .

Vous pouvez utiliser post pour vos valeurs. Mais si vous avez vraiment besoin de toutes les informations contenues dans l’URL, je pense que vous devriez commencer à implémenter la réécriture d’URL .... ici est un début de réécriture.

Si vous ne souhaitez pas utiliser une base de données pour stocker une table de recherche d'URL raccourcies (hachées), vous devrez concevoir une sorte de fonction permettant de transformer une URL raccourcie en une adresse complète.

En d'autres termes, votre URL complète doit avoir des propriétés lui permettant d'être compressée en une plus petite.

Par exemple, je pourrais compresser l'URL suivante

http://example.com/script.php?param1=saffron&param2=sierra&param3=4

dans

http://example.com/script.php?p=p1.sa_p2.si_p3:4

Si je savais que param1 et param2 n'acceptent que certains mots clés et que param3 n'accepte que des nombres.

  • Utilisez une interface RESTful au lieu d'un ensemble de paramètres de requête.

  • Stockez les valeurs qui persisteront tout au long de la session sur le serveur, à l'aide d'un cookie de session.

Déterminez l'ensemble des valeurs possibles et créez un algorithme bidirectionnel pour les coder / décoder.

Par exemple, si vous avez 3 paramètres et qu’ils ne sont jamais que des entiers à un chiffre, alors au lieu de? param1 = 1 & param2 = 2 & param3 = 3, vous pouvez avoir? 123 et diviser la chaîne de requête par chaque caractère pour obtenir chacun paramètre.

La possibilité de le faire dépend entièrement du type de valeurs que vous attendez.

Je fais habituellement quelque chose comme ça pour réduire les paramètres:

Votre lien:

http://example.com/script.php?param1=value1&param2=value2&param3=value3&param4=value4&param5=value5

Mes favoris:

http://example.com/script.php?params=value1,value2,value3,value4,value5

ou      http://example.com/script.php?params= valeur1 | valeur2 | valeur3 | valeur4 | valeur5

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top