Question

Dans le passé, j’ai réussi à copier / éditer / coller des règles de réécriture sur un serveur Apache sur lequel j’avais un contrôle limité.

Maintenant, cependant, je teste un serveur Apache que je peux redémarrer et configurer à ma guise, mais je ne parviens pas à obtenir même un exemple de réécriture de base, c’est après avoir lu au moins deux tutoriels. J'ai joué avec LogLevel et RewriteLog mais je ne trouve aucune preuve réelle que mes règles de réécriture vraiment basiques sont utilisées. Mon fichier journal de réécriture a été créé, mais il est vide. J'ai également essayé de commenter chaque chose à partir de httpd.conf mais les choses de réécriture.

Voyons quelles autres informations je peux ajouter:

chilcott:/etc/apache2/conf.d# uname -a
Linux chilcott 2.6.26-1-486 #1 Sat Jan 10 17:46:23 UTC 2009 i686 GNU/Linux


chilcott:/etc/apache2/conf.d# apache2ctl -V
Server version: Apache/2.2.9 (Debian)
Server built:   Jan 20 2009 17:29:25
Server's Module Magic Number: 20051115:15
Server loaded:  APR 1.2.12, APR-Util 1.2.12
Compiled using: APR 1.2.12, APR-Util 1.2.12
Architecture:   32-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT=""
 -D SUEXEC_BIN="/usr/lib/apache2/suexec"
 -D DEFAULT_PIDLOG="/var/run/apache2.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="/var/run/apache2/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
 -D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"
Était-ce utile?

La solution

Avez-vous vos règles de réécriture dans la section droite de votre httpd.conf? Ils devraient probablement figurer dans une section vhost.

Publier votre httpd.conf (ou au moins une partie de celui-ci) peut aider.

Cela devrait ressembler un peu à ceci:

LoadModule rewrite_module modules/mod_rewrite.so

RewriteLogLevel 9
RewriteLog ".....rewrite.log"


<VirtualHost *:80>
    DocumentRoot "..."

    RewriteEngine On
    RewriteRule ^/foo /bar
</VirtualHost>

Autres conseils

Vous devez charger le module pour l'utiliser. Recherchez dans votre fichier httpd.conf une ligne semblable à celle-ci et supprimez le caractère de commentaire # s'il en existe:

#LoadModule rewrite_module modules/mod_rewrite.so

Il vous suffit ensuite de redémarrer votre serveur Apache.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top