J'ai un projet PHP où je dois envoyer un caractère de hachage (#) dans le chemin d'une URL. ( http://www.example.com/parameter#23 /parameter#67/index.php ) Je pensais que le code url le permettrait, convertissant le hachage en% 23
Mais maintenant, je vois que même le hachage codé en url oblige le navigateur à tout traiter à droite comme un fragment d'URL (ou une requête).
Existe-t-il un moyen de passer un hachage ou dois-je effectuer une substitution de caractères avant le code url?
Modifier pour ajouter (19 septembre 2017):
Il s'avère que je posais la mauvaise question. Mon problème n'était pas d'utiliser le caractère de hachage dans le chemin (l'encodage fonctionne), mais d'utiliser mod_rewrite pour le convertir en une chaîne de requête. Je n'avais pas réussi à le ré-encoder dans la RewriteRule. Je modifierai le titre pour qu'il corresponde.
Voici la règle de réécriture que j'utilisais:
RewriteEngine On
# convert path strings into query strings
RewriteRule "^(.*)/(.*)/hashtags.php" /hashtags.php?parameter_1=$1&parameter_2=$2 [QSA,L]
Dès que j'ai ajouté la balise B, cela a fonctionné correctement:
RewriteEngine On
# convert path strings into query strings
RewriteRule "^(.*)/(.*)/hashtags.php" /hashtags.php?parameter_1=$1&parameter_2=$2 [QSA,L,B]
Encodez le hachage dans l'URL avec% 23
http://Twitter.com/home?status=I+believe+in+%23love
"Je crois en l'amour"
Référence de codage d'URL: http://www.w3schools.com/tags/ref_urlencode.asp