Je viens d’installer une nouvelle copie de Drupal 6.19 pour accélérer la rédaction des modules. Mais pour une raison quelconque, le module de réécriture ne fonctionne pas pour Drupal.
Ce que j’ai vérifié:
apachectl -M
>> il est installé php_info()
sur le serveur actuel >> dit que réécrire est également installé .htaccess
dans mon dossier racine Drupal AllowOverride All
Je propose des options ici. Partout, mais les parameters de Drupal ne me permettent pas d’activer les parameters et leur test est simplement en train de visiter un site qui devrait fonctionner si le module de réécriture était là.
Mes spécifications: Mac OS X 10.6 Snow Leopard Utilisation d’Apache intégré avec PHP5
Merci!
Deux autres choses à vérifier:
.htaccess
est lisible pour vos processus Apache (Oui, j’ai lu que vous l’avez vérifié deux fois, mais est-ce que cela incluait les permissions de fichier?) De plus, j’essaierais de simplifier le scénario de test – commencez par une simple directive de réécriture dans une configuration vhost. Une fois que cela fonctionne, déplacez-le vers un fichier .htaccess au niveau supérieur de la racine du document vhosts, puis vers les sous-répertoires (si nécessaire / utilisé).
Enfin, vous devez autoriser votre hôte ou répertoire virtuel à utiliser .htaccess
.
AllowOverride All
Mettre à jour:
Je ne peux pas comprendre votre problème exact, mais il vaut toujours la peine de tester qu’Apache parsing réellement votre fichier .htaccess
. Faites express une erreur de syntaxe et voyez si vous obtenez un message 500 Internal Server Error
. De plus, testez mod_rewrite
avec une règle de redirection simple qui n’implique pas Drupal.
Assurez-vous que si l’installation se trouve dans un sous-répertoire, le nom d’utilisateur fait partie de rewriteBase
# Modify the RewriteBase if you are using Drupal in a subdirectory or in a # VirtualDocumentRoot and the rewrite rules are not working properly. # For example if your site is at http://example.com/drupal uncomment and # modify the following line: RewriteBase /~username/drupal**
Si vous exécutez votre installation Drupal dans un sous-dossier tel que: example.com/drupal, puis activez “RewriteBase /” dans votre fichier .htaccess, cela pourrait vous aider.
Une URL propre pourrait être quelque chose comme http://www.example.com/fisherman au lieu de http://www.example.com/data/pages/fisherman.php
Certaines installations d’apache ont des fonctionnalités d’URL propres et prêtes à l’emploi. Il y a 2 étapes à configurer correctement pour que cela fonctionne.
Enable rewrite module Allow .htaccess file overrides
Les deux étapes nécessitent un access root SSH à votre serveur. Donc, si vous êtes sur un hôte partagé, cela ne fonctionnera probablement pas pour vous. Ouvrez votre terminal:
Pour activer le module de réécriture, vous pouvez taper la commande suivante
sudo a2enmod rewrite
Maintenant tapez
sudo service apache2 restart
pour activer les modifications. Vous pouvez vérifier si cela fonctionne en tapant
sudo apache2ctl –M
Une liste apparaîtra. Recherchez “rewrite_module”.
Recherchez cette ligne dans votre fichier httpd.conf
#LoadModule rewrite_module modules/mod_rewrite.so
Si vous commentez, décommentez le serveur apache, puis redémarrez-le, puis essayez d’activer la section URL Clean de Drupal Admin.
J’ai ajouté ce qui suit à mon fichier .htaccess et celui-ci a été résolu. Mon problème était précisément lié à l’image Rackspace / CentOS
Options – MultiViews
Comme Álvaro G. Vicario l’a mentionné, la première chose à faire est de ghfdiddfdjf
haut du fichier .htaccess
quelque chose comme ghfdiddfdjf
qui devrait ghfdiddfdjf
une erreur interne. Si ce n’est pas le cas, vous savez que le fichier .htaccess
n’est pas en cours de lecture. Le mien n’était pas, et j’ai trouvé le correctif suivant:
Dans le dossier etc/apache2/sites-enabled
, il y avait un fichier appelé default-000
. C’est dans ce fichier que j’ai modifié AllowOverride All
à 2 endroits du fichier.