2012-08-15 3 views
2

나는 로그 클래스를 만들었습니다. 모두 잘 작동하며 "add"메소드는 X.log에 데이터를 추가합니다. 문제는, 내가 htaccess를 켜면, file_put_contents는 2 줄 (하나가 아닌)을 썼다는 것입니다.htaccess duplicate file_put_contents

기본적으로 클래스없이 tryed, index + htaccess에 file_put_contents 만 쓰고 로그를 복제합니다.

문제는 htaccess 라우팅이 두 번 보이는 것처럼 보입니다.

이것은 최소한의 코드입니다 :

의 index.php :

DEFINE('BASE_PATH',dirname(__FILE__)); 
DEFINE('DS',DIRECTORY_SEPARATOR); 
DEFINE('LOG_PATH' , BASE_PATH . DS . "var" . DS . "log" . DS); 
file_put_contents(LOG_PATH."1.log", "hola".PHP_EOL, FILE_APPEND | LOCK_EX); 
die(); 

htaccess로 코드 : 도움을

Options +FollowSymLinks 
IndexIgnore */* 
DirectoryIndex index.php 
<IfModule mod_rewrite.c> 
RewriteEngine on 
    RewriteCond %{REQUEST_URI} !^/(var|skin|js)/ 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule .* index.php [L] 
</IfModule> 

감사합니다!

답변

4

브라우저가 favicon.ico를 요청합니다. 그리고 아마 당신은 하나도 가지고 있지 않을 것입니다 - 그래서 요청은 index.php으로 다시 쓰여지고 있습니다. 따라서 두 개 이상의 레코드가 추가되었습니다.

access.log를보고 요청한 실제 URL을 확인하십시오.

0

감사합니다 zerkms, thats correct, 문제는 favicon입니다.

RewriteCond %{REQUEST_URI} !/favicon\.ico$ 
RewriteRule .* index.php [L] 

다시 한번 감사 zerkms

의 .htaccess를 : 사람이 필요하면 나는, .htaccess로이 조건을 추가했다.