Vous n'êtes pas identifié(e).
saque eud dun (patois chtimi : fonce dedans)
Hors ligne
Objet du present tutoriel :
Sur un serveur personnel, en réseau privé, nous voudrons dans un premier temps activer la réécriture automatique et configurable des urls. L'idée est de remplacer les urls à paramètres (site/bla.php?plouf=xxx&plif=yyy&blo) par des équivalents humainement lisibles (du type : site/rubrique/article).
Ce genre de méthode est très utilisée par les cms spip, pluxml, dokuwiki, drupal et j'en passe.
Dans un deuxième temps, donner un nommage sympathique aux sites hébergés sur ce serveur, du type :
http://nana
plutôt que :
\http://127.0.0.1/nana
Configuration testée : Debian Lenny, Apache 2.
Mise en scène demetan, captnfab
===== Acte A - « Url Rewriting » ou « Réécriture des URL à la volée » =====
Cela met en œuvre deux éléments :
- le serveur
- le site
==== le serveur Apache 2 ====
//On suppose une installation fraîche d'Apache2.//
=== Vérifier la présence du module rewrite ===
Pour ce faire, on liste les modules actifs avec la commande suivante :
# apache2ctl -M
Sa présence est attestée par la ligne :
rewrite_module (shared)
S'il n est pas présent, il faut l'activer avec la commande :
# a2enmod rewrite
Qui doit nous indiquer en retour :
Enabling module rewrite.
Run '/etc/init.d/apache2 restart' to activate new configuration!
Il est proposé de redémarrer le serveur.
Redémarrage et nouvelle verification avec :
# invoke-rc.d apache2 restart
# apache2ctl -M
=== Autoriser la prise en compte par Apache2 des fichiers .htaccess ===
//On suppose que l'on n'a pas encore modifié la configuration d'Apache2.//
Editer le second paragragaphe de : /etc/apache2/sites-enabled/000-default
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
changer None par All ainsi
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
=== Configuration de la réécriture à proprement parler ===
Étant donné que c'est le site hébergé qui va devoir faire avec cette réécriture, c'est en général lui qui fournit le fichier .htaccess de configuration.
Exemple (pour dokuwiki) :RewriteEngine on
RewriteBase /
RewriteRule ^_media/(.*) lib/exe/fetch.php?media=$1 [QSA,L]
RewriteRule ^_detail/(.*) lib/exe/detail.php?media=$1 [QSA,L]
RewriteRule ^_export/([^/]+)/(.*) doku.php?do=export_$1&id=$2 [QSA,L]
RewriteRule ^$ doku.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) doku.php?id=$1 [QSA,L]
=== Vérification ===
drupal
exemple simple php
Acte B - Nommage de site
- sites virtuels (Apache2 vhosts)
- /etc/hosts ou DNS
captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.
Hors ligne