Version complète: sur le forum Webmaster Hub : Aide adaptation .htaccess à OVH
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
bertimus
Bonjour,

Je viens de m'offrir un nouveau script et je rencontre une difficulté sur l'adaptation du fichier .htaccess à mon hébergeur OVH.

Je vous avoue ne pas encore maîtriser la structure des fichiers .htaccess mais je vous jure de m'y mettre au plus vite blush.gif

Pour gagner un peu de temps, j'ai d'abord besoin de votre aide.

Alors voilà, j'ai un 90plan (multi mutualisé) et j'aimerais que le fichier suivant fasse bien son travail :

CODE

RewriteEngine on
RewriteBase /
RewriteRule index.html$ index.php [L]

RewriteRule all/$ actus_gen.php?pf=all [L]
RewriteRule pc/$ actus_gen.php?pf=pc [L]
RewriteRule ps2/$ actus_gen.php?pf=ps2 [L]
RewriteRule gba/$ actus_gen.php?pf=gba [L]
RewriteRule ds/$ actus_gen.php?pf=ds [L]
RewriteRule ngage/$ actus_gen.php?pf=ngage [L]
RewriteRule xbox/$ actus_gen.php?pf=xbox [L]
RewriteRule psp/$ actus_gen.php?pf=psp [L]
RewriteRule gamecube/$ actus_gen.php?pf=gamecube [L]
RewriteRule hardware/$ actus_gen.php?pf=hard [L]
RewriteRule tips/$ actus_gen.php?pf=tips [L]
RewriteRule revolution/$ actus_gen.php?pf=revolution [L]
RewriteRule ps3/$ actus_gen.php?pf=ps3 [L]
RewriteRule dreamcast/$ actus_gen.php?pf=dreamcast [L]
RewriteRule dossiers/$ actus_gen.php?pf=dossiers [L]
RewriteRule download/$ actus_gen.php?pf=dl [L]
RewriteRule tips/$ actus_gen.php?pf=tips [L]
RewriteRule previews/$ actus_gen.php?pf=previews [L]


RewriteRule all/([0-9]*)/([a-z_0-9].+).html$ actus.php?id=$1&pf=all [L]
RewriteRule pc/([0-9]*)/([a-z_0-9].+).html$ actus.php?id=$1&pf=pc [L]
RewriteRule ps2/([0-9]*)/([a-z_0-9].+).html$ actus.php?id=$1&pf=ps2 [L]
RewriteRule gba/([0-9]*)/([a-z_0-9].+).html$ actus.php?id=$1&pf=gba [L]
RewriteRule ds/([0-9]*)/([a-z_0-9].+).html$ actus.php?id=$1&pf=ds [L]
RewriteRule ngage/([0-9]*)/([a-z_0-9].+).html$ actus.php?id=$1&pf=ngage [L]
RewriteRule xbox/([0-9]*)/([a-z_0-9].+).html$ actus.php?id=$1&pf=xbox [L]
RewriteRule psp/([0-9]*)/([a-z_0-9].+).html$ actus.php?id=$1&pf=psp [L]
RewriteRule gamecube/([0-9]*)/([a-z_0-9].+).html$ actus.php?id=$1&pf=gamecube [L]
RewriteRule hard/([0-9]*)/([a-z_0-9].+).html$ actus.php?id=$1&pf=hard [L]
RewriteRule dossiers/([0-9]*)/([a-z_0-9].+).html$ actus.php?id=$1&pf=dossiers [L]
RewriteRule tips/([0-9]*)/([a-z_0-9].+).html$ actus.php?id=$1&pf=tips [L]
RewriteRule dreamcast/([0-9]*)/([a-z_0-9].+).html$ actus.php?id=$1&pf=dreamcast [L]
RewriteRule ps3/([0-9]*)/([a-z_0-9].+).html$ actus.php?id=$1&pf=ps3 [L]
RewriteRule revolution/([0-9]*)/([a-z_0-9].+).html$ actus.php?id=$1&pf=revolution [L]
RewriteRule dl/([0-9]*)/([a-z_0-9].+).html$ actus.php?id=$1&pf=dl [L]
RewriteRule previews/([0-9]*)/([a-z_0-9].+).html$ actus.php?id=$1&pf=previews [L]


A lire le guide OVH qui est consacré au .htaccess, je crois comprendre qu'il faut que je rajoute des "/" devant chacun des "actus.php" + "index.php". Bon, chose que j'ai faite... :

CODE

RewriteEngine on
RewriteBase /
RewriteRule index.html$ /index.php [L]

RewriteRule all/$ /actus_gen.php?pf=all [L]
RewriteRule pc/$ /actus_gen.php?pf=pc [L]
RewriteRule ps2/$ /actus_gen.php?pf=ps2 [L]
RewriteRule gba/$ /actus_gen.php?pf=gba [L]
RewriteRule ds/$ /actus_gen.php?pf=ds [L]
RewriteRule ngage/$ /actus_gen.php?pf=ngage [L]
RewriteRule xbox/$ /actus_gen.php?pf=xbox [L]
RewriteRule psp/$ /actus_gen.php?pf=psp [L]
RewriteRule gamecube/$ /actus_gen.php?pf=gamecube [L]
RewriteRule hardware/$ /actus_gen.php?pf=hard [L]
RewriteRule tips/$ /actus_gen.php?pf=tips [L]
RewriteRule revolution/$ /actus_gen.php?pf=revolution [L]
RewriteRule ps3/$ /actus_gen.php?pf=ps3 [L]
RewriteRule dreamcast/$ /actus_gen.php?pf=dreamcast [L]
RewriteRule dossiers/$ /actus_gen.php?pf=dossiers [L]
RewriteRule download/$ /actus_gen.php?pf=dl [L]
RewriteRule tips/$ /actus_gen.php?pf=tips [L]
RewriteRule previews/$ /actus_gen.php?pf=previews [L]


RewriteRule all/([0-9]*)/([a-z_0-9].+).html$ /actus.php?id=$1&pf=all [L]
RewriteRule pc/([0-9]*)/([a-z_0-9].+).html$ /actus.php?id=$1&pf=pc [L]
RewriteRule ps2/([0-9]*)/([a-z_0-9].+).html$ /actus.php?id=$1&pf=ps2 [L]
RewriteRule gba/([0-9]*)/([a-z_0-9].+).html$ /actus.php?id=$1&pf=gba [L]
RewriteRule ds/([0-9]*)/([a-z_0-9].+).html$ /actus.php?id=$1&pf=ds [L]
RewriteRule ngage/([0-9]*)/([a-z_0-9].+).html$ /actus.php?id=$1&pf=ngage [L]
RewriteRule xbox/([0-9]*)/([a-z_0-9].+).html$ /actus.php?id=$1&pf=xbox [L]
RewriteRule psp/([0-9]*)/([a-z_0-9].+).html$ /actus.php?id=$1&pf=psp [L]
RewriteRule gamecube/([0-9]*)/([a-z_0-9].+).html$ /actus.php?id=$1&pf=gamecube [L]
RewriteRule hard/([0-9]*)/([a-z_0-9].+).html$ /actus.php?id=$1&pf=hard [L]
RewriteRule dossiers/([0-9]*)/([a-z_0-9].+).html$ /actus.php?id=$1&pf=dossiers [L]
RewriteRule tips/([0-9]*)/([a-z_0-9].+).html$ /actus.php?id=$1&pf=tips [L]
RewriteRule dreamcast/([0-9]*)/([a-z_0-9].+).html$ /actus.php?id=$1&pf=dreamcast [L]
RewriteRule ps3/([0-9]*)/([a-z_0-9].+).html$ /actus.php?id=$1&pf=ps3 [L]
RewriteRule revolution/([0-9]*)/([a-z_0-9].+).html$ /actus.php?id=$1&pf=revolution [L]
RewriteRule dl/([0-9]*)/([a-z_0-9].+).html$ /actus.php?id=$1&pf=dl [L]
RewriteRule previews/([0-9]*)/([a-z_0-9].+).html$ /actus.php?id=$1&pf=previews [L]


... et qui, bien malheureusement, ne marche pas sad.gif

Apache me renvoie l'erreur suivante :

Not Found
The requested URL /actus.php was not found on this server.

Apache/1.3.37 Server at 90plan.ovh.net Port 80


L'un(e) d'entre vous aurait-il la gentillesse de me donner le bon code ?

Au cas où c'est pertinent, je vous informe que mon script n'a pas encore de domaine associé, je le fait tourner sur http://90plan.ovh.net/~MonCompte/MonSousDossier/

D'avance GRAND MERCI !

Bertrand

PS : Je crois qu'OVH vient tout juste de passer à MySQL 5 a_thumbsup_20.gif

PS 2 : Quelqu'un aurait-il un excellent tuto en tête pour bien comprendre le fonctionnement des .htaccess ?
bertimus
OK, en bidouillant, je crois avoir trouvé la solution, en tout cas ça a l'air de passer... Dites-moi juste si c'est parfaitement OK ?

CODE

RewriteEngine on
RewriteBase /
RewriteRule index.html$ /~MonCompte/MonSousDossier/index.php [L]

RewriteRule all/$ /~MonCompte/MonSousDossier/actus_gen.php?pf=all [L]
RewriteRule pc/$ /~MonCompte/MonSousDossier/actus_gen.php?pf=pc [L]
RewriteRule ps2/$ /~MonCompte/MonSousDossier/actus_gen.php?pf=ps2 [L]
RewriteRule gba/$ /~MonCompte/MonSousDossier/actus_gen.php?pf=gba [L]
RewriteRule ds/$ /~MonCompte/MonSousDossier/actus_gen.php?pf=ds [L]
RewriteRule ngage/$ /~MonCompte/MonSousDossier/actus_gen.php?pf=ngage [L]
RewriteRule xbox/$ /~MonCompte/MonSousDossier/actus_gen.php?pf=xbox [L]
RewriteRule psp/$ /~MonCompte/MonSousDossier/actus_gen.php?pf=psp [L]
RewriteRule gamecube/$ /~MonCompte/MonSousDossier/actus_gen.php?pf=gamecube [L]
RewriteRule hardware/$ /~MonCompte/MonSousDossier/actus_gen.php?pf=hard [L]
RewriteRule tips/$ /~MonCompte/MonSousDossier/actus_gen.php?pf=tips [L]
RewriteRule revolution/$ /~MonCompte/MonSousDossier/actus_gen.php?pf=revolution [L]
RewriteRule ps3/$ /~MonCompte/MonSousDossier/actus_gen.php?pf=ps3 [L]
RewriteRule dreamcast/$ /~MonCompte/MonSousDossier/actus_gen.php?pf=dreamcast [L]
RewriteRule dossiers/$ /~MonCompte/MonSousDossier/actus_gen.php?pf=dossiers [L]
RewriteRule download/$ /~MonCompte/MonSousDossier/actus_gen.php?pf=dl [L]
RewriteRule tips/$ /~MonCompte/MonSousDossier/actus_gen.php?pf=tips [L]
RewriteRule previews/$ /~MonCompte/MonSousDossier/actus_gen.php?pf=previews [L]


RewriteRule all/([0-9]*)/([a-z_0-9].+).html$ /~MonCompte/MonSousDossier/actus.php?id=$1&pf=all [L]
RewriteRule pc/([0-9]*)/([a-z_0-9].+).html$ /~MonCompte/MonSousDossier/actus.php?id=$1&pf=pc [L]
RewriteRule ps2/([0-9]*)/([a-z_0-9].+).html$ /~MonCompte/MonSousDossier/actus.php?id=$1&pf=ps2 [L]
RewriteRule gba/([0-9]*)/([a-z_0-9].+).html$ /~MonCompte/MonSousDossier/actus.php?id=$1&pf=gba [L]
RewriteRule ds/([0-9]*)/([a-z_0-9].+).html$ /~MonCompte/MonSousDossier/actus.php?id=$1&pf=ds [L]
RewriteRule ngage/([0-9]*)/([a-z_0-9].+).html$ /~MonCompte/MonSousDossier/actus.php?id=$1&pf=ngage [L]
RewriteRule xbox/([0-9]*)/([a-z_0-9].+).html$ /~MonCompte/MonSousDossier/actus.php?id=$1&pf=xbox [L]
RewriteRule psp/([0-9]*)/([a-z_0-9].+).html$ /~MonCompte/MonSousDossier/actus.php?id=$1&pf=psp [L]
RewriteRule gamecube/([0-9]*)/([a-z_0-9].+).html$ /~MonCompte/MonSousDossier/actus.php?id=$1&pf=gamecube [L]
RewriteRule hard/([0-9]*)/([a-z_0-9].+).html$ /~MonCompte/MonSousDossier/actus.php?id=$1&pf=hard [L]
RewriteRule dossiers/([0-9]*)/([a-z_0-9].+).html$ /~MonCompte/MonSousDossier/actus.php?id=$1&pf=dossiers [L]
RewriteRule tips/([0-9]*)/([a-z_0-9].+).html$ /~MonCompte/MonSousDossier/actus.php?id=$1&pf=tips [L]
RewriteRule dreamcast/([0-9]*)/([a-z_0-9].+).html$ /~MonCompte/MonSousDossier/actus.php?id=$1&pf=dreamcast [L]
RewriteRule ps3/([0-9]*)/([a-z_0-9].+).html$ /~MonCompte/MonSousDossier/actus.php?id=$1&pf=ps3 [L]
RewriteRule revolution/([0-9]*)/([a-z_0-9].+).html$ /~MonCompte/MonSousDossier/actus.php?id=$1&pf=revolution [L]
RewriteRule dl/([0-9]*)/([a-z_0-9].+).html$ /~MonCompte/MonSousDossier/actus.php?id=$1&pf=dl [L]
RewriteRule previews/([0-9]*)/([a-z_0-9].+).html$ /~MonCompte/MonSousDossier/actus.php?id=$1&pf=previews [L]
Dan
Tu as des tutoriaux sur le Hub:
http://www.webmaster-hub.com/publication/L...r-htaccess.html

Et aussi un article sur la réécriture (voire plusieurs)
http://www.webmaster-hub.com/publication/M...riture-des.html
http://www.webmaster-hub.com/publication/L...-recursive.html

En ce qui concerne les règles à appliquer chez OVH, elles diffèrentdes standards parce qu'OVH a son propre module de réécriture (il faut notamment mettre un chemin complet en second argument des règles...)
bertimus
Merci M'sieur !

Et juste un petit mot sur mes modifs... ça te paraît OK là ?
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.