2010-02-08 7 views
0

que je fais des travaux d'entretien sur un CMS et ont trouvé le fichier htaccess suivant:aide htaccess nécessaire

<IfModule mod_rewrite.c> 
Options +FollowSymLinks 
RewriteEngine On 
#RewriteBase/


RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 

je vais avoir du mal à comprendre. la raison pour laquelle je suis allé chercher le fichier htaccess est la suivante: J'ai placé du code dans index.php (juste en train d'imprimer une chaîne dans un fichier mais finira par faire des banderoles) et j'ai remarqué que la chaîne est imprimée quelques fois quand je charge index.php. cela pourrait-il avoir une connexion au fichier htaccess?

merci à l'avance pour toute entrée.

+0

Il ne devrait pas avoir de connexion. Pouvez-vous s'il vous plaît ajouter quel code avez-vous changé (seulement la partie pertinente)? Si vous revenez à index.php d'origine, le problème se révèle-t-il? –

+0

thanx, c'est le code approprié dans index.php: file_put_contents ($ text_file, $ _SERVER ['PHP_SELF'], FILE_APPEND); et la sortie est la suivante: /itportal.co.il/index.php /itportal.co.il/index.php/uploads/76126568849640.png /itportal.co.il/index.php/uploads/13126494098846 .jpg /itportal.co.il/index.php/uploads/34126569172238.png /itportal.co.il/index.php/uploads/12125938246345.jpg /itportal.co.il/index.php/uploads/ 35126534663389.jpg etc. – samoyed

Répondre

0

Cela vérifie simplement si un fichier ex ists (en tant que fichier -f, ou répertoire -d). Si ce n'est pas le cas, il prend l'adresse et la transmet à index.php.

Par exemple si vous demandez:

www.mysite.com/badfile.html

Vous obtiendrez:

www.mysite.com/index.php/badfile.html

Cela devrait avoir aucun effet sur la façon dont le code fonctionne index.php. Cela affecte uniquement ce qui se passe lorsque des fichiers et des répertoires inexistants sont demandés.

+0

merci de répondre. juste pour être clair - si le fichier badfile.htm est demandé, index.php sera-t-il chargé à nouveau? - ceci expliquerait pourquoi le code qui imprime dans le fichier s'exécute quelques fois et pas seulement sur le chargement initial de index.php. si c'est le cas, à chaque fois qu'un fichier ou un répertoire inexistant est demandé, la page d'accueil est rechargée, ce qui est, au moins, étrange pour moi. c'est le code dans index.php file_put_contents ($ text_file, $ _SERVER ['PHP_SELF'] , FILE_APPEND); et la sortie est: /itportal.co.il/index.php /itportal.co.il/index.php/uploads/76126568849640.png ... etc. – samoyed

+0

Si index.php demande un fichier badfile.html, alors oui, index.php sera appelé à nouveau. Fondamentalement, il sera appelé pour tous les fichiers inexistants que demande index.php. Cela signifie que vous pourriez vous retrouver avec une sorte de boucle, car le nouvel appel à index.php peut à nouveau demander le mauvais fichier. –

0

demande est un fichier sur le serveur Web, refuse l'accès aux index.php

RewriteCond %{REQUEST_FILENAME} !-f 

demande est pour un répertoire physique sur le serveur Web, refuse l'accès à index.php

RewriteCond %{REQUEST_FILENAME} !-d 

Tous autre que ce qui précède, redirige vers index.php

RewriteRule ^(.*)$ index.php/$1 [L]