| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| informatique:logiciels:apache [2018/02/04 17:55] – [De l'utilisation d'apache2ctl] pteu | informatique:logiciels:apache [2020/11/02 17:57] (current) – pteu |
|---|
| On enchaine différentes conditions ''RewriteCond'' (avec le drapeau ''NC'' pour //NoCase//, insensible à la casse) suivis d'un //OU logique// (''OR''), puis on définit la règle ''RewriteRule'' qui contient l'action ''F'' (envoi une erreur **403 : Forbidden** au navigateur) et ''L'' (last) pour arrêter le processus de réécriture. | On enchaine différentes conditions ''RewriteCond'' (avec le drapeau ''NC'' pour //NoCase//, insensible à la casse) suivis d'un //OU logique// (''OR''), puis on définit la règle ''RewriteRule'' qui contient l'action ''F'' (envoi une erreur **403 : Forbidden** au navigateur) et ''L'' (last) pour arrêter le processus de réécriture. |
| |
| Exemple de mise ne place d'une redirection temporaire : ajouter ces lignes dans le fichier de configuration du vhost (''/etc/apache2/site-enable/vhost_redir'' dans mon cas) : | Exemple de mise ne place d'une redirection (permanente=301 par défaut) : ajouter ces lignes dans le fichier de configuration du vhost (''/etc/apache2/site-enable/vhost_redir'' dans mon cas) : |
| <code bash> | <code bash> |
| <IfModule mod_rewrite.c> | <IfModule mod_rewrite.c> |
| RewriteEngine On | RewriteEngine On |
| RewriteRule ^(.*)$ http://pteu.fr$1 [R=301,L] | RewriteRule ^(.*)$ http://pteu.fr$1 [R,L] |
| </IfModule> | </IfModule> |
| </code> | </code> |
| **Syntaxe** : ''RewriteRule <regex> <url de redirection> [<paramètres>]'' | **Syntaxe** : ''RewriteRule <regex> <url de redirection> [<paramètres>]'' |
| |
| dans l'exemple ci-dessus, on redirige tout (''^(.*)$'') vers pteu.fr, avec un code HTTP ''301'' (qui correspond à une redirection temporaire). | dans l'exemple ci-dessus, on redirige tout (''^(.*)$'') vers pteu.fr, avec un code HTTP ''301'' (qui correspond à une redirection permanente). On peut préciser une redirection temporaire (code=302) avec : |
| | <code bash> |
| | [..] |
| | RewriteRule ^(.*)$ http://pteu.fr$1 [R=302,L] |
| | </code> |
| | |
| | ====Variables utilisables==== |
| | |
| | https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#rewritecond |
| |
| =====Générer un certificat===== | =====Générer un certificat===== |
| |
| Utilisation de l'outil de diagnostique **apache2ctl** (ou **apachectl**, c'est un alias pour la "compatibilité ascendante") : | Utilisation de l'outil de diagnostique **apache2ctl** (ou **apachectl**, c'est un alias pour la "compatibilité ascendante") : |
| | * ''apache2ctl -V'' : affiche la version et les options de compilation |
| | <code bash> |
| | apachectl -V |
| | Server version: Apache/2.4.29 (Unix) |
| | Server built: Oct 26 2017 16:18:29 |
| | Server's Module Magic Number: 20120211:68 |
| | Server loaded: APR 1.6.2, APR-UTIL 1.6.0 |
| | Compiled using: APR 1.6.2, APR-UTIL 1.6.0 |
| | Architecture: 64-bit |
| | Server MPM: worker |
| | threaded: yes (fixed thread count) |
| | forked: yes (variable process count) |
| | Server compiled with.... |
| | -D APR_HAS_SENDFILE |
| | -D APR_HAS_MMAP |
| | [..] |
| | </code> |
| * ''apache2ctl -S'' : permet de lister tous les VirtualHost pris en compte par Apache | * ''apache2ctl -S'' : permet de lister tous les VirtualHost pris en compte par Apache |
| <code bash> | <code bash> |