1 votes

comment activer le mod_rewrite pour xampp ?

J'obtiens un 404 not found lorsque je fais un mod rewrite dans mon fichier htaccess, en accédant à localhost.

Comment faire pour que cela fonctionne ? Toutes les références que j'ai trouvées m'indiquent de modifier un fichier dans /etc/apache2/mods-enabled.

Pour moi, il n'y a pas de dossier /etc/apache2, où est installé apache alors ?

en utilisant xampp, http://www.apachefriends.org/en/xampp-linux.html

3voto

Dominik Points 111

Vous avez posé la question pour xampp dans votre titre mais vous avez décrit le problème d'apache2 dans la description. Les deux méthodes sont différentes pour faire fonctionner le serveur web Apache.

La configuration de xampp est différente de celle d'apache2. xampp contient apache et mysql, si vous avez installé xampp, vous n'avez pas besoin de les installer séparément.

xampp n'identifie pas a2enmod ou a2dismod, même si vous avez installé xampp dans ubuntu. Ils (a2enmod ou a2dismod) ont été configurés pour apache2.

La configuration de xampp est très similaire à celle de httpd de centOS ou fedora.

XAMPP est installé sous /opt/lampp. Les modules de réécriture sont activés par défaut dans xampp. Vous pouvez le vérifier dans le fichier /opt/lampp/etc/httpd.conf. Il devrait y avoir la ligne

LoadModule rewrite_module modules/mod_rewrite.so

dans le fichier httpd.conf ainsi que le fichier mod_rewrite.so est disponible dans les modules. Si la ligne est commentée, cela signifie que le module est désactivé. La ligne doit être décommentée ainsi que le fichier .so ne doit pas être corrompu si vous voulez utiliser les règles de réécriture dans xampp.

1voto

phoenixwizard Points 111

N'oubliez pas après le réglage dans httpd.conf dans cette section :

<Directory />
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
</Directory>

vous devez activer le mod_rewrite :

sudo a2enmod rewrite

et ensuite redémarrer apache :

sudo service apache2 restart

Pour vous en assurer, vous pouvez vérifier à partir de phpinfo dans Configuration > apache2handler > Loaded Modules il doit être écrit mod_rewrite et cela signifie mod_rewrite est activé. J'espère que cela pourra vous aider.

0voto

Zakaria Points 175

Je ne suis pas sûr que XAMPP ait réellement a la structure sites-available/sites-enabled, mods-available/mods-enabled que les paquets Apache d'Ubuntu utilisent. Mais si ces répertoires son Je m'attendrais à ce qu'ils soient quelque part dans /opt/lampp/etc, parce que le fichier de configuration principal httpd.conf s'y trouve (selon http://www.apachefriends.org/en/xampp-linux.html#385 ).

D'après certaines entrées de blog (assez anciennes) sur XAMPP, il pourrait y avoir une directive LoadModule appropriée dans ce httpd.conf, quelque chose du type

#LoadModule rewrite_module path/to/mod_rewrite.so

Si c'est toujours le cas, vous devez supprimer le symbole de commentaire (#) de cette ligne. En outre, vous devez activer le remplacement local des paramètres centraux (par exemple à partir d'un fichier htaccess ou d'un serveur virtuel). Vous devez donc rechercher

AllowOverride None

et le changer en

AllowOverride All

Cela peut apparaître plus d'une fois dans le fichier httpd.conf, vous devez ajuster chaque occurrence. Après le prochain redémarrage d'Apache, mod_rewrite devrait fonctionner.

En fin de compte, le système mod-available/mod-enabled est "juste" un moyen pratique de gérer des éléments de configuration comme le LoadModule ci-dessus, voir par exemple /etc/apache2/mods-available/rewrite.load des paquets Apache d'Ubuntu).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X