J'ai une nouvelle installation d'Apache 2.2 sur ma machine Vista, tout fonctionne bien, sauf le mod rewrite.
J'ai décommenté
LoadModule rewrite_module modules/mod_rewrite.s
mais aucune de mes règles de réécriture ne fonctionne, même celles qui sont simples comme
RewriteRule not_found %{DOCUMENT_ROOT}/index.php?page=404
Toutes les règles que j'utilise fonctionnent sur mon hébergement, donc elles devraient être correctes. Ma question est donc la suivante : y a-t-il un élément caché dans la configuration d'Apache qui pourrait bloquer la réécriture des modules ?
Pour ma situation, j'avais
RewriteEngine On
dans mon .htaccess
, en même temps que le module était chargé, et cela ne fonctionnait pas.
La solution à mon problème a été de modifier l'entrée de mon serveur virtuel pour y inclure
AllowOverride all
dans la section "Directory>" du site en question.
Je viens de remarquer que vous avez dit mod_rewrite.s au lieu de mod_rewrite.so - j'espère que c'est une faute de frappe dans votre question et non dans le fichier httpd.conf ! :)
J'ai plus l'habitude d'utiliser Apache sur Linux, mais j'ai dû faire cela l'autre jour.
Tout d'abord, jetez un coup d'oeil dans votre répertoire d'installation d'Apache. (Je suppose que vous l'avez installé dans "C:\Program Files" ; ici)
Regardez dans le dossier : "C:\Program Files\Apache Software Foundation\Apache2.2\modules" ; et assurez-vous qu’il y a un fichier appelé mod_rewrite.so. (Il devrait y être, car il est fourni dans le cadre de l'installation par défaut.
Ensuite, ouvrez le fichier "C:\Program Files\Apache Software Foundation\Apache2.2\conf" ; et ouvrez httpd.conf. Assurez-vous que la ligne :
#LoadModule rewrite_module modules/mod_rewrite.so
est décommentée :
LoadModule rewrite_module modules/mod_rewrite.so
De plus, si vous voulez activer le RewriteEngine par défaut, vous pouvez ajouter quelque chose comme
<IfModule mod_rewrite>
RewriteEngine On
</IfModule>
à la fin de votre fichier httpd.conf.
Sinon, assurez-vous de spécifier
RewriteEngine On
quelque part dans votre fichier .htaccess.