Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 24-01-2010 10:46:41

smolski
administrateur quasi...modo
Lieu : AIN
Distrib. : 8 (jessie) 64 bits + backports
Noyau : 4.6.0-0.bpo.1-amd64
(G)UI : gnome 3.14.1
Inscription : 21-10-2008

Clean url - un tuto de config apache2

Bonjour,

Pas encore dans le wiki, mais en passe de l'être très bientôt... Sûr !

Le tuto rédigé par demetan a déjà été modifié par le captnfab !
Voir post 2 en suivant.

Merci à demetan et captnfab de nous renvoyer les instructions échangées sur l'irc pour l'offrir à tous ! Tchibâââ ! lol

Amitié, Jojo

"Définition d'eric besson : S'il fallait en chier des tonnes pour devenir ministre, il aurait 2 trous du cul." - JP Douillon
"L'utopie ne signifie pas l'irréalisable, mais l'irréalisée." - T Monod (source :  La zone de Siné)
"Je peux rire de tout mais pas avec n'importe qui." - P Desproges
"saque eud dun" (patois chtimi : fonce dedans)

Hors ligne

#2 24-01-2010 11:17:51

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : Clean url - un tuto de config apache2

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

Pied de page des forums