Si je comprends bien, j'ai besoin de mettre quelque chose dans httpd.config
pour activer mod_rewrite. Si cela est vrai, que dois-je mettre dans httpd.conf
ou Apache.conf
? S'il vous plaît être spécifique à l'OS.
Non, mod_rewrite
est un module Apache et n'a rien à voir avec PHP.
Pour activer le module, la ligne suivante dans httpd.conf
doit être active:
LoadModule rewrite_module modules/mod_rewrite.so
pour savoir s'il est déjà actif, essayez de placer un fichier .htaccess
dans un répertoire Web contenant la ligne.
RewriteEngine on
si cela fonctionne sans générer une erreur de serveur interne 500 et que le fichier .htaccess
soit analysé, la réécriture d'URL fonctionne.
Juste pour les utilisateurs activant mod_rewrite sur Debian avec Apache2:
Pour vérifier si mod_rewrite est activé:
Cherchez dans mods_enabled un lien vers le module en exécutant
ls /etc/Apache2/mods-enabled | grep rewrite
Si cela génère rewrite.load
, le module est activé. (Remarque: votre chemin vers Apache2 peut ne pas être/etc /, bien que ce soit probablement le cas.)
Pour activer mod_rewrite si ce n'est déjà fait :
Activer le module (crée essentiellement le lien que nous recherchions ci-dessus):
a2enmod rewrite
Rechargez tous les fichiers de configuration Apache:
service Apache2 restart
Dans mon cas, le problème est survenu même après que toutes ces configurations ont été effectuées (@Pekka a mentionné des modifications dans les fichiers httpd.conf et .htaccess). Il n'a été résolu qu'après avoir ajouté
<Directory "project/path">
Order allow,deny
Allow from all
AllowOverride All
</Directory>
à la configuration de l'hôte virtuel dans un fichier vhost
Édité le 29/09/2017 (Pour Apache 2.4 <) Référez-vous cette réponse
<VirtualHost dropbox.local:80>
DocumentRoot "E:/Documenten/Dropbox/Dropbox/dummy-htdocs"
ServerName dropbox.local
ErrorLog "logs/dropbox.local-error.log"
CustomLog "logs/dropbox.local-access.log" combined
<Directory "E:/Documenten/Dropbox/Dropbox/dummy-htdocs">
# AllowOverride All # Deprecated
# Order Allow,Deny # Deprecated
# Allow from all # Deprecated
# --New way of doing it
Require all granted
</Directory>
Non, vous ne devriez pas avoir besoin de. mod_rewrite
est un module Apache. Cela n'a rien à voir avec php.ini
.
s'il s'agit d'un site d'hébergement, demandez à votre hébergeur ou si vous souhaitez l'activer sur une machine locale, puis consultez ce didacticiel étape par étape sur youtube relatif à l'activation du module de réécriture dans wamp Apache https://youtu.be/ xIspOX9FuVU? t = 1m43s
Icône du serveur Wamp -> Apache -> Modules Apache et cochez l’option de réécriture du moduleit doit être coché, mais après cela, wamp nécessite le redémarrage de tous les services.
Le module rewrite_module est intégré au serveur dans la plupart des cas
Utilisez .htaccess
Utilisez le générateur de réécriture de mod sur http://www.generateit.net/mod-rewrite/
network solutions offre le conseil de mettre un php.ini dans le cgi-bin pour permettre à mod_rewrite