Page 1 sur 1
affichage de l'URL saisie
Posté : 23 juil. 2012, 09:38
par nanounel
Bonjour,
Je ne vois pas de solutions :
- url demandée :
http://xxxx.fr/ce-que-je-cherche
- mon .htaccess :
ErrorDocument 404 /404.php
-
404.php consulte une table et si l'argument demandé existe renvoie vers l'url effective par exemple :
http://xxxx.fr/toto.php?id&chx=tata
je souhaiterai que l'url affichée sur le navigateur soit
http://xxxx.fr/ce-que-je-cherche
Si qq1 a une idée ...
D'avance merci
Bernard
Re: affichage de l'URL saisie
Posté : 23 juil. 2012, 10:36
par xTG
Bah c'est de l'url rewriting.
Ce n'est certainement pas à gérer avec ta page 404.php
Voilà de quoi trouver ton bonheur :
http://apache.developpez.com/cours/urlrewriting/
http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
Re: affichage de l'URL saisie
Posté : 23 juil. 2012, 10:47
par moogli
salut,
regarde du coté de la ré écriture d'url (url rewriting) dans la documentation d'apache.
le principe est simple, s'il n'y a pas d'extension (par exemple si ni .php ou .html tu utilise cette page qui fait appel à ta base de données.
@+
Re: affichage de l'URL saisie
Posté : 23 juil. 2012, 11:17
par nanounel
Merci beaucoup,
mais dans mon cas j'ai des milliers rewriterule à faire !!!
c pour ça que j'ai choisi de passer par une page 404.php
mon truc marche très bien mais c pas beau !!!
Merci encore ...
Re: affichage de l'URL saisie
Posté : 23 juil. 2012, 14:38
par xTG
En quoi tu as des milliers de rewrite... On peut toujours faire un motif qui englobe toutes les possibilités.

Re: affichage de l'URL saisie
Posté : 23 juil. 2012, 15:34
par nanounel
En quoi tu as des milliers de rewrite... On peut toujours faire un motif qui englobe toutes les possibilités.

voici un exemple qui ne me convient pas :
dans le .htaccess j'ai la ligne :
RewriteRule ^S([0-9]+)\.fb$
http://www.e-samsar.fr/V5.5/visit/visit ... dc=$1&fb=1 [L]
le visiteur clique sur un lien du genre :
http://e-samsar.fr/S3101
et l'url affichée :
http://www.e-samsar.fr/V5.5/visit/visit ... c&idc=3101
ça fait des semaines que je cherche, mais je ne trouve pas le moyen d'afficher l'url demandée
http://www.e-samsar.fr/S3101
c'est sûr, ça doit être tout con (pour qq1 qui sait) mais moi je ne sais pas ...
Merci quand même
Re: affichage de l'URL saisie
Posté : 23 juil. 2012, 16:49
par Ryle
Le principe de l'url rewriting, c'est justement cela : l'utilisateur renseigne une url et le serveur fait appel à un script de façon totalement transparente, ce n'est pas une redirection. Tu n'as donc pas à chercher "comment afficher l'url demandée" puisque cela va se faire simplement en cliquant sur un lien, mais plutôt comment faire pour que cette url exécute bien ton script
Ce qui me semble bizarre, c'est que ton masque (^S([0-9]+)\.fb$) ne correspond pas à ton exemple (S3101) .. y a pas de ".fb" à la fin de ton url
Re: affichage de l'URL saisie
Posté : 23 juil. 2012, 17:17
par nanounel
Le principe de l'url rewriting, c'est justement cela : l'utilisateur renseigne une url et le serveur fait appel à un script de façon totalement transparente, ce n'est pas une redirection. Tu n'as donc pas à chercher "comment afficher l'url demandée" puisque cela va se faire simplement en cliquant sur un lien, mais plutôt comment faire pour que cette url exécute bien ton script
Ce qui me semble bizarre, c'est que ton masque (^S([0-9]+)\.fb$) ne correspond pas à ton exemple (S3101) .. y a pas de ".fb" à la fin de ton url
j'ai collé la mauvaise ligne de mon .htaccess. Quelques lignes plus bas j'ai :
RewriteRule ^S([0-9]+)$
http://www.e-samsar.fr/V5.5/visit/visit ... soc&idc=$1 [L]
Re: affichage de l'URL saisie
Posté : 23 juil. 2012, 22:00
par Ryle
Je pense que ton soucis vient de la présence du domaine dans ta règle, du coup au lieu d'un rewrite il fait peut être une redirection... si tu essaies comme ceci, est-ce que ça fonctionne mieux :
Code : Tout sélectionner
RewriteRule ^S([0-9]+)$ V5.5/visit/visit.php?chx=soc&idc=$1 [L]
Re: affichage de l'URL saisie
Posté : 24 juil. 2012, 06:25
par nanounel
Je pense que ton soucis vient de la présence du domaine dans ta règle, du coup au lieu d'un rewrite il fait peut être une redirection... si tu essaies comme ceci, est-ce que ça fonctionne mieux :
Code : Tout sélectionner
RewriteRule ^S([0-9]+)$ V5.5/visit/visit.php?chx=soc&idc=$1 [L]
Effectivement ça marche !!!
Bravo
je ne peux pas le mettre en place encore, car j'ai des bizarreries d'affichage ... mais cela ne doit pas être grave.
je testerai ça dans une prochaine nuit (ou je me lève tôt)
MERCI BEAUCOUP DE VOTRE AIDE