Cette section est close pour le moment.
Mais je n'arrête pas la veille, loin de là. Retrouvez mes projets sur Github et sur cette page qui sera à jour plus régulierement


Ressources

Définition de ressource : (nom féminin) Qui peut fournir ce dont on a besoin.
Vous l'aurez compris, sur cette page ce ne sont pas vraiment des tutoriels, c'est plutôt des penses-bêtes plus ou moins fournis mais qui vous permettront d'avoir des bases concernant la programmation.
Recherche par tag

Créer des URL propres avec un fichier .htaccess

Créer des URL propres avec un fichier .htaccess
Publication : Le 29/09/2012 à 11:21:58

Introduction

La réécriture d'URL est quelque chose de très simple à mettre en œuvre.

Il vous faudra :
- Avoir une réflexion sur l'arborescence de vos liens.
- Créer un fichier .htaccess où seront les règles d'écritures de vos liens.
- Indiquer à votre site la racine de celui-ci.

Réflexion sur la conception de vos liens.

La partie la plus dure ! (C'est dire si l'url rewriting c'est simple).

Malheureusement, je ne vais pas pouvoir vous aider ! A vous de structurer vos liens afin qu'ils soient clairs & fonctionnels pour les visiteurs.

Par exemple vous pouvez créer vos liens sous forme de "dossier" :

www.monsite.fr/theme/rubrique/article.html

Notez que le .html n'est pas du tout obligatoire.

L'idéal avec les liens sous forme de dossier, c'est que vous pouvez (si le site est bien développer) supprimer directement dans l'URL des dossiers afin de naviguer dans le site.

Ex: on enlève la partie "rubrique/article.html" de l'url précédente pour arriver directement sur : www.monsite.fr/theme/

Le fichier .htaccess

Dans votre fichier .htaccess il vous faudra déclarer plusieurs choses avant de créer votre ré-écriture.

- "Options +FollowSymlinks" afin de rendre possible l'url rewriting
- "RewriteEngine on" pour dire que l'on va réécrire.
- "RewriteBase / " pour donner la base de votre réécriture d'url.

Ensuite, on peut passer à l'url rewriting.

Il faut écrire le nom de la commande, ici "RewriteRule".

Ensuite on écrit la structure du lien qui est envoyé au navigateur, on doit l'écrire entre un "^" & "$".

Puis on passe au lien qui sera envoyé au serveur. Ici la page index.php avec la variable PAGE qui sera égale à theme.

On termine la phrase par [L] afin de dire au script que si la réécriture correspond, on peut arrêter de chercher.

Ce qui donne :
RewriteRule ^theme/$ /index.php?page=theme [L]

C'est bien beau, mais on va quand même pas taper l'url de chaque page ? Non, il faut utiliser des paramètres !

Pour cela dans la réécriture il faut utiliser les expressions régulières PERL.
Chaque contenu entre parenthèse correspond à une variable. Cette variable on la retrouve dans le contenu renvoyé au serveur sous la forme de dollar + numéro de la variable.
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^theme/$ /index.php?page=theme [L]
RewriteRule ^([-a-zA-Z0-9]+)/$ /index.php?page=$1 [L]
RewriteRule ^([-a-zA-Z0-9]+)/([0-9]+)-([-a-zA-Z0-9]+)/$ /index.php?page=$1&id=$2 [L]

Indiquer à vos pages le chemin de base

Afin de savoir quel est le dossier de départ, vous devrez indiquer la racine du site dans la balise de votre page.

Il faut déclarer cette balise AVANT l'appel de vos fichiers js & css afin de trouver le bon lien.

Si vous ne l'avez pas fait et que vous vous trouvez à l'url suivante : www.monsite.fr/theme/rubrique/ et que vous recherchez votre feuille de style qui se trouve sur www.monsite.fr/css/style.css, votre page la cherchera dans www.monsite.fr/theme/rubrique/css/style.css.

La balise à utiliser est
<!DOCTYPE html>
<html>
<head>
<base href="http://www.monsite.fr">
<title>Mon titre</title>
<link ... >
</head>
<body>
....
</body>
</html>

Conclusion

Voila, simple non ?

Je vous laisse chercher sur le net les compléments de cette ressource. Par exemple un script qui va encoder correctement les mots que vous voulez mettre dans votre url. Et oui, les accents & les espaces vides ne sont pas conseillées du tout !

Sur le même thème

Créer des URL propres avec un fichier .htaccess
Publication : Le 29/09/2012 à 11:21:58

Suggestion :

Configurer votre site avec un fichier .htaccess

Configurer votre site avec un fichier .htaccess