Récupérer URL avec php
Fermé
enn_kh
Messages postés
5
Date d'inscription
mardi 11 octobre 2011
Statut
Membre
Dernière intervention
3 juillet 2012
-
2 juil. 2012 à 10:18
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 4 juil. 2012 à 10:14
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 4 juil. 2012 à 10:14
A voir également:
- Récupérer URL avec php
- Lien url - Guide
- Recuperer message whatsapp supprimé - Guide
- Recuperer video youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
- Url masquée pour votre sécurité - Forum Programmation
6 réponses
tryan44
Messages postés
1288
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
26 octobre 2014
220
2 juil. 2012 à 15:14
2 juil. 2012 à 15:14
Salut,
Essayez avec :
Essayez avec :
echo "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
UgglyBoy
Messages postés
422
Date d'inscription
mercredi 24 septembre 2008
Statut
Membre
Dernière intervention
30 mai 2015
64
3 juil. 2012 à 01:12
3 juil. 2012 à 01:12
est-ce toi qui a écrit les scripts php de ton site, ou utilises-tu un cms?
tryan44
Messages postés
1288
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
26 octobre 2014
220
3 juil. 2012 à 09:03
3 juil. 2012 à 09:03
A qui parlez-vous?
UgglyBoy
Messages postés
422
Date d'inscription
mercredi 24 septembre 2008
Statut
Membre
Dernière intervention
30 mai 2015
64
3 juil. 2012 à 23:38
3 juil. 2012 à 23:38
à enn_kh
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
3 juil. 2012 à 12:18
3 juil. 2012 à 12:18
tu essayes de faire de l'url_rewriting mais apparemment tu te prend à l'envers
l'adresse original doit être
http://www.site.com/information-sur-14.html
et après passage par le htaccess te renvoyer
http://www.site.com/index.php&id=14&func=start&lng=fr
donc
l'adresse original doit être
http://www.site.com/information-sur-14.html
et après passage par le htaccess te renvoyer
http://www.site.com/index.php&id=14&func=start&lng=fr
donc
$_GET['id'] = 14; $_GET['func] = 'start'; $_GET['lng] = 'fr';
enn_kh
Messages postés
5
Date d'inscription
mardi 11 octobre 2011
Statut
Membre
Dernière intervention
3 juillet 2012
1
3 juil. 2012 à 12:21
3 juil. 2012 à 12:21
non, ma question est comment avoir
ce lien http://www.site.com/information-sur-14.html dans une chaine string
ce lien http://www.site.com/information-sur-14.html dans une chaine string
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
Modifié par maka54 le 3/07/2012 à 12:28
Modifié par maka54 le 3/07/2012 à 12:28
elle est pas claire ta question
tu écrit tout simplement : http://www.site.com/information-sur-14.html
tu écrit tout simplement : http://www.site.com/information-sur-14.html
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
Modifié par [Dal] le 3/07/2012 à 12:54
Modifié par [Dal] le 3/07/2012 à 12:54
Bonjour enn_kh,
On dirait que dans le dialogue entre Apache et Php, Php ne reçoit que le résultat du traitement de l'URL par mod_rewrite (tu pourrais afficher $_SERVER en totalité pour t'en assurer, et voir s'il n'y a pas une qui puisse te servir).
Sinon, maka54 a raison, http://www.site.com/index.php&id=14&func=start&lng=fr est le résultat de l'url rewrite de la requête http://www.site.com/information-sur-14.html fait par mod_rewrite et pas l'inverse comme tu sembles l'indiquer dans ton message d'origine.
Une autre possibilité est d'essayer de répliquer le traitement de l'expression rationnelle utilisée avec la fonction Php preg_replace.
Il suffit en théorie de connaître l'expression utilisée par les directives utilisées par mod_rewrite (contenues dans ton .htaccess), et élaborer l'expression inverse pour obtenir l'URL :-) avec preg_replace.
S'il y a de nombreuses règles de réécriture cela peut être rigolo ;-)
Il y a quoi dans ton .htaccess ?
Dal
On dirait que dans le dialogue entre Apache et Php, Php ne reçoit que le résultat du traitement de l'URL par mod_rewrite (tu pourrais afficher $_SERVER en totalité pour t'en assurer, et voir s'il n'y a pas une qui puisse te servir).
print_r($_SERVER)
Sinon, maka54 a raison, http://www.site.com/index.php&id=14&func=start&lng=fr est le résultat de l'url rewrite de la requête http://www.site.com/information-sur-14.html fait par mod_rewrite et pas l'inverse comme tu sembles l'indiquer dans ton message d'origine.
Une autre possibilité est d'essayer de répliquer le traitement de l'expression rationnelle utilisée avec la fonction Php preg_replace.
Il suffit en théorie de connaître l'expression utilisée par les directives utilisées par mod_rewrite (contenues dans ton .htaccess), et élaborer l'expression inverse pour obtenir l'URL :-) avec preg_replace.
S'il y a de nombreuses règles de réécriture cela peut être rigolo ;-)
Il y a quoi dans ton .htaccess ?
Dal
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tryan44
Messages postés
1288
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
26 octobre 2014
220
Modifié par tryan44 le 3/07/2012 à 15:43
Modifié par tryan44 le 3/07/2012 à 15:43
Il dit que :
l'adresse original est :
http://www.site.com/index.php&id=14&func=start&lng=fr
ce qui donne une fois ré écrit :
http://www.site.com/information-sur-14.html
Donc son url rewriting est déjà en place et fonctionnel.
Ensuite il dit vouloir récupérer l'url ré écrite.
Si il place la ligne suivante dans la page ré écrite :
il obtient l'url en cours de la page consulté, donc l'url ré écrite. Il faut juste placer la ligne de code ci-dessus dans une variable ou fonction pour récupérer l'url.
Une question stupide engendre une réponse stupide!
Une question mal formulé engendre une réponse aléatoire!
l'adresse original est :
http://www.site.com/index.php&id=14&func=start&lng=fr
ce qui donne une fois ré écrit :
http://www.site.com/information-sur-14.html
Donc son url rewriting est déjà en place et fonctionnel.
Ensuite il dit vouloir récupérer l'url ré écrite.
Si il place la ligne suivante dans la page ré écrite :
echo "[http://]" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
il obtient l'url en cours de la page consulté, donc l'url ré écrite. Il faut juste placer la ligne de code ci-dessus dans une variable ou fonction pour récupérer l'url.
Une question stupide engendre une réponse stupide!
Une question mal formulé engendre une réponse aléatoire!
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
3 juil. 2012 à 16:12
3 juil. 2012 à 16:12
vu comme çà en effet mais comme il t'a répondu au ton premier
cette ligne lui renvoie l'adresse originale :
http://www.site.com/index.php&id=14&func=start&lng=fr
Donc non son url rewriting n'est pas en place
cette ligne lui renvoie l'adresse originale :
http://www.site.com/index.php&id=14&func=start&lng=fr
Donc non son url rewriting n'est pas en place
UgglyBoy
Messages postés
422
Date d'inscription
mercredi 24 septembre 2008
Statut
Membre
Dernière intervention
30 mai 2015
64
3 juil. 2012 à 23:45
3 juil. 2012 à 23:45
@maka54 bien vu.
D'où ma question au début: a-t-il lui même écrit son site, maîtrise-t-il tout les scripts d'url rewriting et le .htaccess ? Car si c'est le cas il ne devrait avoir pas à recupérer la REQUEST_URI pour rétro-fabriquer l'URI originelle...
D'où ma question au début: a-t-il lui même écrit son site, maîtrise-t-il tout les scripts d'url rewriting et le .htaccess ? Car si c'est le cas il ne devrait avoir pas à recupérer la REQUEST_URI pour rétro-fabriquer l'URI originelle...
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
4 juil. 2012 à 10:14
4 juil. 2012 à 10:14
En gros, il y a un malentendu.
Si les URL telles que http://www.site.com/information-sur-14.html arrivent au serveur, c'est qu'elles ont été générées dans des pages servies par celui-ci.
Il doit donc y avoir dans le code Php de notre ami enn_kh du code qui s'occupe déjà de construire une jolie URL à partir de paramètres internes.
Comme indiqué plus haut, le "rewriting .htaccess" (le module Apache mod_rewrite certainement, bien que notre ami ne le précise pas) ne s'occupe que de réécrire les URL des requêtes reçues par le serveur.
Dal
Si les URL telles que http://www.site.com/information-sur-14.html arrivent au serveur, c'est qu'elles ont été générées dans des pages servies par celui-ci.
Il doit donc y avoir dans le code Php de notre ami enn_kh du code qui s'occupe déjà de construire une jolie URL à partir de paramètres internes.
Comme indiqué plus haut, le "rewriting .htaccess" (le module Apache mod_rewrite certainement, bien que notre ami ne le précise pas) ne s'occupe que de réécrire les URL des requêtes reçues par le serveur.
Dal
3 juil. 2012 à 12:08