Récupérer URL avec php
enn_kh
Messages postés
19
Statut
Membre
-
[Dal] Messages postés 6373 Statut Contributeur -
[Dal] Messages postés 6373 Statut Contributeur -
Bonjour,
comment récupérer l'URL d'une page web avec php après le rewriting .htaccess
par exemple :
l'adresse original est
http://www.site.com/index.php&id=14&func=start&lng=fr
qui donne
http://www.site.com/information-sur-14.html
donc comment récupérer la deuxième adresse ?!!
comment récupérer l'URL d'une page web avec php après le rewriting .htaccess
par exemple :
l'adresse original est
http://www.site.com/index.php&id=14&func=start&lng=fr
qui donne
http://www.site.com/information-sur-14.html
donc comment récupérer la deuxième adresse ?!!
A voir également:
- Récupérer URL avec php
- Url - Guide
- Recuperer message whatsapp supprimé - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment recuperer une video sur youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
6 réponses
Salut,
Essayez avec :
Essayez avec :
echo "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
enn_kh
Messages postés
19
Statut
Membre
1
non ca marche pas, toujours ça donne l'adresse original
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';
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
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!
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