htaccess RewriteCond !-f problèmes
Mise à JOUR: le Problème est résolu
Après de nombreuses heures, j'ai enfin compris que le problème était dans le dossier d'autorisation (757 au lieu de 755).
Merde, je me sens comme un idiot, mais au moins, le problème est résolu 🙂
Merci à tous!
J'ai un problème bizarre avec mon .htaccess et mod_rewrite.
Actuellement, j'ai la suite .htaccess sur mon root:
Options +FollowSymLinks
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule . /index.php [NC,L]
Le problème est:
Je veux être en mesure d'accéder à un fichier existant.
c'est à dire: mysite.com/anydir/myfile.png -> ouvrir le anydir/monfichier.png
- mysite.com/anydir/script.php -> ouvrir anydir/script.php
- mysite.com/file.png -> ouvrir le fichier.png
- mysite.com/notadir/imnotafile -> réécrire
Mais, tout fonctionne sauf le deuxième point. J'ai un file.php
dans mon test
dossier, mais quand je fais mysite.com/test/file.php
, de réécriture, et il ne devrait pas...
Ce que je suis, je fais de mal?
Merci 🙂
Je viens de tester votre .htaccess et ne pas voir cette réécriture. Peut-être que c'est un problème de mise en cache.
Je soupçonne que c'est une sorte de configuration du serveur. @OlafDietsche
OriginalL'auteur Henrique Mouta | 2013-03-09
Vous devez vous connecter pour publier un commentaire.
Probablement faire l'affaire:
Mise à JOUR de 1
À cette partie de code:
[L]
Arrêter le processus de réécriture immédiatement et de ne pas appliquer les règles de plus. Donc,Ne sont pas interprétés.
Mise à JOUR 2:
Le serveur va suivre les liens symboliques:
Le serveur va désactiver de multiples points de vue:
Moteur de réécriture sera activé:
Répertoire de Base pour les réécrire sera
/
:Si la requête correspond à un pas de fichier existant, de continuer:
Si la requête correspond à un pas de répertoire, de continuer:
Réécriture de
index.php
, dans un pas sensibles cas, et arrêter l'exécution des règles suivantes:Donc, essayez de le suivre:
Voir mise à jour de réponse.
Il a essayé, encore réécriture .les fichiers php (mais tous les autres types de fichiers ne sont pas réécrites)
voir mise à jour 3, avec des explications.
C'est ce que j'ai dans mon htaccess, et toujours le même problème...
OriginalL'auteur Gabriel Santos
Si vous voulez juste pour se débarrasser de l'erreur 404, vous pourriez utiliser
Si vous voulez réécrire chaque répertoire, je pense que vous devriez supprimer;
RewriteCond %{REQUEST_FILENAME} !-d
= Si la demande n'est pas un répertoire existant, continuer. Et le problème est:I want to be able to access any existing file.
(qui peuvent inclure des répertoires)Ah jeah désolé j'ai confondu par un autre poste similaire .htaccess xD
Exactement @GabrielSantos.
OriginalL'auteur Wolfii