Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

Solution pour l'Url rewriting chez Free :D

Aller à la page 1, 2, 3  Suivante
Poster un nouveau sujet Imprimer cette discussion    Forum -> URL Rewriting et .htaccess   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
Shisui
Nouveau WRInaute

Inscrit le: 21 Sep 2005
Messages: 9

URL permanente de ce messagePosté le : Mer Sep 21, 2005 17:18    Sujet du message: Solution pour l'Url rewriting chez Free :D

Bon j'ai presque fini un script php qui permet de faire de l'url rewriting en php simplement, et en gérant les régles normales d'un fichier .htaccess mais le probléme c'est qu'il me faudrais quelqu'un pour le tester, ce script, vu que je suis pas un expert en url rewriting, donc si quelqu'un pouvait se dévouer pour ça, de préférence quelqu'un qui s'y connaisse en RegEx, sinon ca sert à rien Mad

Précision : ca n'est pas le meme genre de script que celui déjà présenté sur ce forum Rolling Eyes Pour l'instant ca gére les rewritecond avec les variables %{HTTP_REFERER}, %{HTTP_USER_AGENT}, %{REMOTE_ADDR} et %{REMOTE_HOST}, et les rewriterule avec les flags [F], [G], [R], [C], [N], [NC] et bien sur [L] :p (J'essaye de mettre au point le [QSA] Mad) le tout dans une class Smile

Donc voilà si quelqu'un d'expérimenté voulait se dévouer pour la bonne cause Wink

Edit: Je veut bien mettre la source mais ca fait 400 lignes donc bon Mad
 
Shisui
wullon
WRInaute accro
WRInaute accro

Inscrit le: 18 Sep 2004
Messages: 3870
Localisation: France

URL permanente de ce messagePosté le : Mer Sep 21, 2005 18:41    Sujet du message: Solution pour l'Url rewriting chez Free :D

Met la source sur un hébergeur distant (dans un .txt par exemple ^^).
 
wullon Visiter le site web du posteur
Shisui
Nouveau WRInaute

Inscrit le: 21 Sep 2005
Messages: 9

URL permanente de ce messagePosté le : Mer Sep 21, 2005 18:46    Sujet du message: Solution pour l'Url rewriting chez Free :D

Bof, je l'avais pas mise parceque free accepte pas les sources php donc bon :/
Note: c'est coloré maintenant, emrci twister Very Happy
La source

Si quelqu'un a des critiques à faire sur le code je suis ouvert aussi Smile J'ai commenté la plupart des fonctions et le reste est assez facile à comprendre je pense Smile[/url]


Dernière édition par Shisui le Sam Sep 24, 2005 19:00; édité 1 fois
 
Shisui
Twister
WRInaute passionné
WRInaute passionné

Inscrit le: 16 Jan 2004
Messages: 618
Localisation: Lyon

URL permanente de ce messagePosté le : Mer Sep 21, 2005 19:11    Sujet du message: Solution pour l'Url rewriting chez Free :D

Tu dis que tu n'utilises pas la même solution que ce qui a été présenté sur le forum, pourtant, d'après les commentaires dans ton fichier, tu utilises aussi l'erreur 404.
Quelle est la différence ?

Sinon, très bonne initiative, j'essaierais de la mettre en place dés que je pourrais...

Wink
 
Twister Visiter le site web du posteur
Shisui
Nouveau WRInaute

Inscrit le: 21 Sep 2005
Messages: 9

URL permanente de ce messagePosté le : Jeu Sep 22, 2005 11:02    Sujet du message: Solution pour l'Url rewriting chez Free :D

Je voulais parler de la maniére de fonctionner du script, pas de la maniére dont il est appellé Smile
A part l'ErrorDocument404 je ne vois pas une autre solution pour integrer le script comme il faudrait Smile
Mais donc la "solution" que j'ai choisie est en rapport avec le fonctionnement du script, là il est inutile de rajouter une condition par page à rediriger, il suffit de faire un copier/coller des directives de réécriture d'un .htaccess "normal" (déstiné au mod_rewrite) dans un autre fichier dont on choisi le nom, on configure le script si il y a besoin, et ensuite le script s'occupe du reste Smile

Donc voilà ^^ (Personne ne l'a encore essayé ?)

Awi, j'oubliais, j'ai mis l'error_reporting à E_ALL, comme ca si il y a une erreur php qui intevient, ca bloque le script, et ca peut etre corrigé rapidement, plutot que de "polluer" les error logs d'apache ^^
 
Shisui
Twister
WRInaute passionné
WRInaute passionné

Inscrit le: 16 Jan 2004
Messages: 618
Localisation: Lyon

URL permanente de ce messagePosté le : Jeu Sep 22, 2005 16:35    Sujet du message: Solution pour l'Url rewriting chez Free :D

Voici l'erreur obtenue chez moi,
en effet, tu appelles la fonction erreur sans paramètre de langue !


Code:
Warning: Missing argument 2 for erreur() in /var/www/free.fr/5/c/lefilasoi/urlrewriting.php on line 229

Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/5/c/lefilasoi/urlrewriting.php:229) in /var/www/free.fr/5/c/lefilasoi/urlrewriting.php on line 236
 
Twister Visiter le site web du posteur
Twister
WRInaute passionné
WRInaute passionné

Inscrit le: 16 Jan 2004
Messages: 618
Localisation: Lyon

URL permanente de ce messagePosté le : Jeu Sep 22, 2005 16:44    Sujet du message: Solution pour l'Url rewriting chez Free :D

Une fois ce problème réglé,
avec ce .rewritemod :
Code:
RewriteRule ^imprimer-([^.]+)\.no_stat(\.([0-9]+))?$ imprimable.php?page=$1&no_stat=no_stat&res=$3 [L]
RewriteRule ^imprimer-([^.]+)(\.([0-9]+))?$ imprimable.php?page=$1&res=$3 [L]
RewriteRule ^([^.]+)\.no_stat(\.([0-9]+))?$ index.php?page=$1&no_stat=no_stat&res=$3 [L]
RewriteRule ^([^.]+)(\.([0-9]+))?$ index.php?page=$1&res=$3 [L]

J'obtiens une erreur 404 pour /accueil alors qu'il devrait renvoyer sur /index.php?page=accueil qui existe.

Question

Edit : j'ai essayé d'enlever les ^ au début ou de mettre des / devant les urls mais rien n'y fait...
 
Twister Visiter le site web du posteur
Shisui
Nouveau WRInaute

Inscrit le: 21 Sep 2005
Messages: 9

URL permanente de ce messagePosté le : Jeu Sep 22, 2005 18:46    Sujet du message: Solution pour l'Url rewriting chez Free :D

Bon j'ai mis le txt à jour avec l'erreur corrigée (j'ai mis une valeur par défaut dans la définition de la fonction, je l'avais oubliée Mad)
Et quant à ton probléme je ne vois pas de quoi ca peut venir j'ai essayé chez moi avec les 4 RewriteRule, en changeant l'index.php d'e celle qui semble poser probléme par une autre page et en affichant le tableau $_GET de cette page, j'obtient bien ce qu'il faut, et la redirection est bien faite pourtant ? (j'ai testé en local chez moi et chez free et ca fonctionne bien Shocked

(J'ai mis à jour le txt et tu peut constater sur le fichier .rewritemod de chez free que ce sont bien tes RewriteRule qui fonctionnent (ici le /accueil) donc ca doit venir de ton coté oO

Merci de t'interesser à ca Smile

*Tilt* en y repensant tu as vérifié d'avoir mit RewriteEngine On dans ton fichier ou d'avoir mit $this->config['ForcerNonVerif'] à TRUE dans la configuration ? (c'est à FALSE par défaut) Pense aussi à bien vérifier le ErrorDocument404 du .htaccess au cas où, sinon je ne vois pas d'ou ca peut venir d'autre Mad
 
Shisui
Twister
WRInaute passionné
WRInaute passionné

Inscrit le: 16 Jan 2004
Messages: 618
Localisation: Lyon

URL permanente de ce messagePosté le : Jeu Sep 22, 2005 19:05    Sujet du message: Solution pour l'Url rewriting chez Free :D

Ca marche !
J'avais en effet oublié le RewriteEngine On.
Très bon script.
Ca nous ferait presque oublier l'absence d'url rewriting chez free Wink .
En fait, j'ai malheureusement créé un script qui faisait de l'url rewriting sur mon site deux jours avant que tu proposes le tien.
Ca m'aurait fait gagner un peu de temps.
C'est sympa d'utiliser les expressions régulières du .htaccess.

Quelques petites suggestions :
la gestion des langues m'a l'air assez bizarre. Puisque tu utilises la fonction erreur sans paramètre, il n'est pas possible de changer la langue comme ça semblait être prévu au départ.
Proposer de rediriger vers une page personnalisée pour chaque erreur (404...) serait pas mal.

Si des gens sont intéressés et veulent voir le résultat de cet url-rewriting chez free permis par Shisui : -http://lefilasoi.free.fr/test_urlrewriting/accueil

Exclamation IMPORTANT : le script utilise un include() pour faire une "redirection". Pour éviter des problèmes avec les urls relatives, utilisez des urls absolues dans le .rewritemod.
Wink


Dernière édition par Twister le Jeu Sep 22, 2005 19:51; édité 1 fois
 
Twister Visiter le site web du posteur
Twister
WRInaute passionné
WRInaute passionné

Inscrit le: 16 Jan 2004
Messages: 618
Localisation: Lyon

URL permanente de ce messagePosté le : Jeu Sep 22, 2005 19:21    Sujet du message: Solution pour l'Url rewriting chez Free :D

OUPS : je me rends compte que ton script affiche bien la page mais renvoie au navigateur une erreur 404 :

Code:
GET /test_urlrewriting/accueil HTTP/1.1
Host: lefilasoi.free.fr
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: fr-fr,fr;q=0.8,de;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 30
Connection: keep-alive
Cookie: phpmv=de44482cd962ec71bd1a79c62a12b6dd; PHPSESSID=3f9006eb7d50b0faac315b2fa6a50f8f
Authorization: Basic U3lsdmllIENoYWdub246bGVmaWxhc3lsdmll

HTTP/1.x 404 Not Found
Date: Thu, 22 Sep 2005 17:18:54 GMT
Server: Apache/ProXad [Sep  2 2005 07:05:41]
X-Powered-By: PHP/4.3.10
Connection: close
Content-Type: text/html


C'est assez inquiétant pour les moteurs de recherche.
J'ai vu que tu a mis un
Code:
header("HTTP/1.0 100 OK");

Pourtant ... ça n'a pas l'air de marcher.

Exclamation
Allez, j'arrète de me répondre tout seul...
 
Twister Visiter le site web du posteur
Shisui
Nouveau WRInaute

Inscrit le: 21 Sep 2005
Messages: 9

URL permanente de ce messagePosté le : Ven Sep 23, 2005 18:40    Sujet du message: Solution pour l'Url rewriting chez Free :D

Hum c'est embetant ca par contre >< Comment tu fait pour afficher tout les headers comme dans ton post ? (comme ca je vais essayer de trouve rune solution à ca :/)

Quant à la redirection vers des pages spécialisées j'en ai eu l'idée en me rappelant que apache faisait un truc comme ca et en pensant que la façon dont le script gére les 404 laisse peu de choix à çà, donc je suis en train de l'implementer dedans, tout comme la gestion de vraies "404" au cas ou la page n'existe vraiment pas Smile
 
Shisui
Twister
WRInaute passionné
WRInaute passionné

Inscrit le: 16 Jan 2004
Messages: 618
Localisation: Lyon

URL permanente de ce messagePosté le : Sam Sep 24, 2005 13:48    Sujet du message: Solution pour l'Url rewriting chez Free :D

Shisui a écrit:
Comment tu fait pour afficher tout les headers comme dans ton post ? (comme ca je vais essayer de trouve rune solution à ca :/)

J'utilise cette extension de firefox :
http://livehttpheaders.mozdev.org/

Wink
 
Twister Visiter le site web du posteur
Shisui
Nouveau WRInaute

Inscrit le: 21 Sep 2005
Messages: 9

URL permanente de ce messagePosté le : Sam Sep 24, 2005 14:42    Sujet du message: Solution pour l'Url rewriting chez Free :D

Argh la providence xD J'avais déjà essayé de trouver une extension comme celle là pour un autre code mais j'en trouvais pas ^^ Merci ^____^

EDIT: J'ai fais quelques test avec ce mod, et apparement ca ne fait ca que chez free :/ (c'est embetant vu que c'est fait pour free ...)
Sur mon serveur local j'obtient bien un header 200 OK :
Code:

http://shisui.sytes.net/accueil

GET /accueil HTTP/1.1
Host: shisui.sytes.net
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR; rv:1.7.10) Gecko/20050717 Firefox/1.0.6
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

HTTP/1.x 200 OK
Date: Sat, 24 Sep 2005 12:49:36 GMT
Server: Apache/2.0.54 (Win32) PHP/5.0.4
X-Powered-By: PHP/5.0.4
Content-Length: 46
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html


Je ne sais pas si ca vient du coté de la configuration du serveur ou alors peut etre de la version d'Apache (free est en apache 1.3 et je suis en apache 2) ou meme de celle de php :/
Je vais essayer de voir du coté du .htaccess pour voir si une option n'est pas disponible pour ca ...
 
Shisui
wullon
WRInaute accro
WRInaute accro

Inscrit le: 18 Sep 2004
Messages: 3870
Localisation: France

URL permanente de ce messagePosté le : Sam Sep 24, 2005 15:41    Sujet du message: Solution pour l'Url rewriting chez Free :D

Hum, c'est bien ça le problème, le header qui renvoie une erreur 404 :\.

Par contre, si t'arrives à renvoyer un 200, ben c'est vraiment nickel, félicitations Smile.
 
wullon Visiter le site web du posteur
Twister
WRInaute passionné
WRInaute passionné

Inscrit le: 16 Jan 2004
Messages: 618
Localisation: Lyon

URL permanente de ce messagePosté le : Sam Sep 24, 2005 16:04    Sujet du message: Solution pour l'Url rewriting chez Free :D

Ne te décourages pas Very Happy
C'est tout à fait faisable chez free.
La preuve, ce que j'ai fait ( -http://lefilasoi.free.fr/accueil ) renvoie bien un code 200 Ok.
Le problème, c'est que j'ai utilisé la même méthode que toi.
Alors pourquoi ça ne marche pas sur ton script alors que ça marche sur le mien ?
Mystère...

La fin de mon fichier ressemble au tien :
Code:
header("HTTP/1.0 100 OK");
include( $adresse_base.$fichier."?page=".$page.$ajout_res.$ajout_stat."&redirection=OK" );
?>


Rolling Eyes

Edit : ça y est, j'ai vu la différence :
tu dois mettre HTTP/1.0 100 OK
Je ne sais pas pourquoi puisque ça retourne un code 200 mais bon...
ça devrait marcher.
Very Happy
 
Twister Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> URL Rewriting et .htaccess Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 3 - Aller à la page 1, 2, 3  Suivante
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort