Redirection

Par Supa polo, il y a 9 ans


Les bases HTML/CSS

Bonjour à tous,

J'aimerais mettre en place un systeme d'url "plus propre" et qu'on voit souvent sur les sites mais je ne sais pas comment le mettre en place.

Il s'agit de cacher le nom du fichier au lieu de mettre lenomdusite.com/portofolio.php par exemple. Mettre plutot lenomdusite.com/portofolio.

Je pense que c'est avec le fichier .htaccess mais je ne m'en suis jamais encore servi.

Merci d'avance,

Cordialement,

8 réponses

GallandJe, il y a 9 ans

Salut,

Il suffit de faire un simple fichier .htaccess comme ceci :

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^\.]+)$ $1.php [NC,L]

Globalement, ce qu'il se passe, c'est que si on ne spécifie pas le nom du fichier (ligne 2), alors on va prendre le nom présent dans l'url et indiquer au serveur que l'on chercher le fichier qui porte ce nom avec l’extension .php (ligne 3).

Cordialement,

Supa polo, il y a 9 ans

Merci beaucoup pour ta réponse efficace et rapide !

Donc, je dois creer un dossier par exemple page a la racine de mon dépot ou je met toutes les pages de mon site internet sauf index.php qui se trouve directement à la racine. Ensuite je peux creer le fichier .htaccess a la racine y inserer le code ci-dessus et c'est bon ?

Je vais également chercher sur le web des infos sur ce .htaccess.
Merci beaucoup.

GallandJe, il y a 9 ans

Hello,

Non si tu mets toutes les pages dans un dossier nommé "pages" ça ne fonctionnera pas avec cette configuration htaccess, il faudrait modifier le .htaccess comme suit :

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^\.]+)$ pages/$1.php [NC,L]

Et il faut placer le .htaccess à la racine :)

Cordialement,

Supa polo, il y a 9 ans

Ok, merci !

Peut on voir les changements sur le site en local ou il faut pour tester mettre le site en ligne ?

Cordialement,

GallandJe, il y a 9 ans

Je ne connais pas ton environnement de développement, mais normalement tu peux tester en local sans problème.

Cordialement,

Supa polo, il y a 9 ans

Je suis sous MAC OS X avec MAMP, j'ai mit le .htaccess a la racine et le index.php mais ca ne reecrit pas l'url. ca reste nomdusite.com/pages/contact.php en local.
Je vais essayer de le mettre en ligne.

GallandJe, il y a 9 ans

Ce .htaccess ne réécrit pas l'url, mais si tu saisis l'url http://nomdusite.com/pages/contact tu devrais arriver sur ta page contact.php il faudra donc modifier tes urls dans ton code ;)

Supa polo, il y a 9 ans

Haaaaaa
D'accord, c'est bon merci, tout marche comme je le souhaitais merci beaucoup. ;)