Version complète: sur le forum Webmaster Hub : URL Rewriting en gros
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
moonwar
Salutation,

Pour commancer, mon hebergeur support le mod_rewriting et le php5 donc, pas de probleme de ce coté là.

Cela dit, je n'ai pas drois a l'erreur car meme si mon hebergeur accepte le rewriting, ces serveurs cache les .htaccess, donc si je fais une connerie, je risque de ne pas retrouver mes .htaccess meme via un logiciel FTP.

donc ...

J'en ai lu des tonnes d'articles... donc, si j'ai bien compris (je prends en compte le cache)...
le code à mettre dans un .htaccess est ça :
Code:
CODE
RewriteEngine on
RewriteCond %{REQUEST_FILENAME}\.cache -f
RewriteRule ([^.]+)\.html$ /$1.html.cache [L]
RewriteRule ([^.]+)\.html$ /page.php?page=$1 [L]

---------------------------------------------------

Si mes liens sont dans le genre : "mon_site.com/index.php?jour=1" mon code devient comme ça???? whistling.gif
Code:
CODE
RewriteEngine on
RewriteCond %{REQUEST_FILENAME}\.cache -f
RewriteRule ([^.]+)\.html$ /$1.html.cache [L]
RewriteRule ([^.]+)\.html$  /index.php?jour=$1 [L]


Comment faire pour introduit dans mes URL (html) les titres genre "article" "musique" "journee" ... etc
---------------------------------------------------

dans le cas où j'ai:
monsite.com/redaction/~auteur/index.php?article=10
je mets ça? unsure.gif
Code:
CODE
RewriteEngine on
RewriteCond %{REQUEST_FILENAME}\.cache -f
RewriteRule ([^.]+)\.html$ /$1.html.cache [L]
RewriteRule ([^.]+)\.html$ /redaction/~auteur/index.php?article=$1 [L]

-------------------------------------------------

wacko.gif

Autre chose, est ce que je dois mettre dans chaque repertoire un .htaccess?
-------------------------------------------------

huh.gif Comment faire (exactement et par la plus simple des methodes ) convertire les sites "site.com" en "www.site.com"??.
-------------------------------------------------

Merci d'avance pour vos réponses,
Bien cordialement.
M.K.
Dan
Salut Moonwar,

Comment fais-tu pour exécuter la deuxième ligne dans :
CODE
RewriteRule ([^.]+)\.html$ /$1.html.cache [L]
RewriteRule ([^.]+)\.html$ /page.php?page=$1 [L]

Comme l'expression recherchée dans ces deux règles est identique, la deuxième ne sera jamais exécutée.

Globalement, tes questions ne sont pas claires... que veux-tu faire ?

Une réponse précise toutefois, à ta dernière question:
CODE
RewriteCond %{HTTP_HOST} !www.site.com$
RewriteRule (.*) http://www.site.com/$1 [R=301,L]

Dan
moonwar
Salut Dan

j'en profite pour te remercier d'avoir editer les URLs de mes messages wink.gif

Pas de probleme, on va oublier le cache IMSTP5.gif mais juste pour precision sur cette ligne!!! je cite l'article de developpez.com ci-joint l'URL
CODE
RewriteEngine on
#Si la page.cache existe :
RewriteCond %{REQUEST_FILENAME}\.cache -f
#on réécrit son url:
RewriteRule ([^.]+)\.html$ /$1.html.cache [L]
#et du fait du [L], on se serait arrêté là si elle existait.
#sinon, on exécute le script page.php en passant le nom de la page demandée en paramètre :
RewriteRule ([^.]+)\.html$ /page.php?page=$1 [L]

---------------------------------------

Pour les questions, et bien ... est-ce que mes ecritures sont justes ?

Je vous donne l'ULR d'origine avec le rewriting qui va avec, et corrigez-moi si je fais une connerie unsure.gif .

En gros, j'ai plusieurs types d'ecritures des URLs, cela est du au fait que j'ecrits mes pages sur bloc notes wacko.gif pour eviter tout probleme de license ...

1- Pour le type: "mon_site.com/index.php?jour=1"
Est-ce juste de mettre ce code?
CODE
RewriteEngine on
RewriteRule ([^.]+)\.html$  /index.php?jour=$1 [L]


2- Pour le type: "monsite.com/redaction/~auteur/index.php?article=10"
Est-ce juste de mettre ce code?
CODE
RewriteEngine on
RewriteRule ([^.]+)\.html$ /redaction/~auteur/index.php?article=$1 [L]


3- Est-ce que je dois ajouter un fichier .htaccess dans tout repertoire de mes sites ou un seul a la racine suffirait?

4- Dans mes repertoire, j'ai nommé tout les liens suivant le sujet. je m'explique
Per exemple pour la partie Musique, j'ai "monsite.com/.../.../musique/index.php?
chanson=10
Pour la partie Sport; j'ai mis "monsite.com/.../sport/foot/index.php?
journée=10

J'aimerais savoir comment faire afin de retrouver les thèmes dans mes ULR réécrits en HTML.

Merci pour:
CODE
RewriteCond %{HTTP_HOST} !www.site.com$
RewriteRule (.*) http://www.site.com/$1 [R=301,L]

J'espere que ça marche avec OVH.com et CeleoNet.fr


Merci d'avance pour vos réponses smile.gif
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.