Ошибка в .htaccess где-то, подскажите, пожалуйста

DN
На сайте с 20.07.2006
Offline
32
890

Есть ошибка в этих строках:

RewriteEngine on

RewriteRule ^cat/(.*)/page/(.*)\.php$ index.php?tag=$1&p=$2
RewriteRule ^cat/(.*)\.php$ index.php?tag=$1
RewriteRule ^m\/(.*)\/page\/(.*)\.php$ index.php?text=$1&ap=$2
RewriteRule ^m\/(.*)\.php$ index.php?text=$1

В логах вижу примерно такие ошибки:

[Mon Jun 23 00:41:11 2008] [debug] mod_rewrite.c(1643): [client 81.57.202.252] mod_rewrite's internal redirect status: 0/10.
[Mon Jun 23 00:41:12 2008] [debug] mod_rewrite.c(1643): [client 81.57.202.252] mod_rewrite's internal redirect status: 0/10.
[Mon Jun 23 00:41:12 2008] [info] [client 81.57.202.252] (32)Broken pipe: client stopped connection before send body completed

При попытке открытия страниц иногда возникает ошибка:

Fatal error: Allowed memory size of 52428800 bytes exhausted (tried to allocate 4097 bytes) in /home/www/htdocs/req/functions.php on line 335

В указанном файле около 335 строки такие строки:

$result="";

$nums=count($art);
for($j=0;$j<$nums;$j++){
$file[]=substr($art[$j],0,-4);
$handle = fopen("./care/".$art[$j], "r");
$contents = ''; $i=0;
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
if($i==0) $name[]=$buffer;
elseif($i==1) $tag[]=$buffer;
elseif($i==2) $anons[]=$buffer;
$i++;

335 строка это:

$buffer = fgets($handle, 4096);

Пожалуйста, скажите, что не так?

S
На сайте с 26.04.2006
Offline
86
#1

Сдается мне скрипту памяти не хватает и не в htaccess дело, был бы не верный htaccess у Вас бы какая ни будь 505 ошибка сервера вылетела, а тут ошибка PHP

W
На сайте с 06.09.2005
Offline
42
#2
DmitryNa:

335 строка это:
$buffer = fgets($handle, 4096);


Пожалуйста, скажите, что не так?

Памят не хвотить. Оптимизируйте код. ($buffer)

webmasters -вебмастер с сайтов:http://www.ibrahimovfamil.narod.ru (http://www.ibrahimovfamil.narod.ru) http://www.allshops.h15.ru (http://www.allshops.h15.ru),http://www.forumall.h15.ru (http://www.forumall.h15.ru) http://www.zarabotka.hut1.ru (http://www.zarabotka.hut1.ru)
DN
На сайте с 20.07.2006
Offline
32
#3

Поднимал память через php.ini с 16 мегабайт до 50, наверное уже дальше не стоит, да и не помогает что-то. Может ли что-то другое влиять на это кроме самого скрипта? Подобная ошибка замечена только на одном сайте, ещё несколько работают на ура. Хостер infobox.ru, быстрый вроде, а на более медленном (domishko.ru) всё работает прекрасно. Может ли посещаемость сайта влиять на эту ошибку?

parMaster
На сайте с 25.07.2007
Offline
43
#4

Это не код, а извините, белиберда какая-то.

У вас все вот эти $art вычитываются в память! Если без переписывания кода, исправить это так - заходите в папку ./care , меряете размер всех файлов, накидываете еще процентов 10 на всякий случай, и ставите такой memory_limit

Удобный сервис закладок (http://vzakladki.com.ua) ICQ: 280060143

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий