1 votes

htaccess ne fonctionne pas sur Mac lorsqu'il est copié, mais fonctionne à partir d'une partition NTFS

J'utilise Apache sur Mac OS X (XAMPP) pour un site qui utilise .htaccess pour avoir des URL comme "domaine.com/site/section/etc".

Le problème est que le schéma d'URL ne fonctionne pas. Il semble que le fichier .htaccess ne soit pas reconnu par Apache.

Cependant, si je fais pointer l'hôte virtuel de l'Apache de mon Mac à la version du site que j'ai sur une partition NTFS (qui fonctionne bien sous Windows) alors il fonctionne aussi parfaitement sur le Mac. Le site sur la partition Mac est une copie exacte de celui sur la partition NTFS (même .htaccess, même DB, tout).

Le fichier .htaccess ne contient aucun chemin d'accès (aucune référence à des répertoires). Ce qui suit est identique pour la version Mac et NTFS du fichier :

ls -l .htaccess
-rwxrwxrwx 1 root admin 944 Oct 8 16:02 .htaccess    file .htaccess
.htaccess: ASCII English text, with CRLF line terminators

Je ne comprends pas ce qui se passe, mais il semble que copier le fichier de NTFS vers la partition Mac, le rende inutile ?

1voto

Thej Points 655

Dans le Terminal, que donnent les commandes suivantes ?

ls -l .htaccess
file .htaccess

Et de même pour la version NTFS ?

Et êtes-vous sûr qu'il n'y a pas de chemins (références à des répertoires) dans ce fichier ?

(Et, désolé de le demander : êtes-vous sûr d'avoir réellement copié le fichier, celui-ci étant un fichier caché sous Unix ? Depuis le Terminal, utilisez quelque chose comme cp -a old-dir new-dir en utilisant -a pour préserver les dates et les permissions des fichiers, et sans cualquier /* pour copier également les fichiers cachés).

Et si vous vous assurez qu'il y a une erreur (une simple faute de frappe suffit) dans le fichier .htaccess sur votre Mac ? Obtenez-vous une erreur 500 Internal Server lorsque vous accédez à une page ? (Afin de déterminer si Apache ignore le fichier .htaccess tout à fait lorsque l'hôte virtuel est configuré pour regarder la partition de votre Mac, ou ignore seulement certaines parties de son contenu alors...)

Et les deux sites se trouvent-ils au même emplacement relatif de la racine d'Apache ? (Par exemple .../http_docs/ contre ~/Sites/ pour les deux, et non ~/Sites/some/path sur votre Mac, qui pourrait alors avoir d'autres .htaccess à un niveau inférieur) ?

1voto

EvilChookie Points 4559

Je ne serais pas surpris que le fichier .htaccess obtienne des permissions stupides du volume NTFS, ce qui perturbe Apache. Essayez de créer un nouveau fichier vierge .htaccess et copiez le contenu du fichier dans le nouveau ; et voyez comment vous vous en sortez.

1voto

user12786 Points 454

Ça peut être plusieurs choses.

  • Apache est-il configuré pour lire le fichier .htaccess ? (oui, ce n'est donc pas le problème)

  • Essayez d'exécuter "dos2unix .htaccess" pour convertir les fins de ligne CRLF qui pourraient perturber Apache. (encore une erreur ; en supposant que les deux .htaccess sont identiques, il n'y a aucune raison pour que cela affecte le serveur sur une partition mais pas sur l'autre)

  • La seule autre chose à laquelle je peux penser est que la copie a bâclé la propriété ou les permissions du nouveau fichier. Si Apache n'a pas les privilèges pour lire le fichier, il ne prendra pas effet.

0voto

DL Redden Points 333

Je suis désolé. J'avais configuré Apache pour qu'il permette de passer outre le .htaccess. :(

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