Error 500, нужна статья или как решить

Денч

Новичок
Error 500, нужна статья или как решить

В статье "Имитация файлов и директорий" приведены ссылки на статьи, где объясняется про сабж. http://phptalk.unet.ru/p/readall.php3?num=1&loc=0&thread=12510 и http://phptalk.unet.ru/p/read.php3?num=1&id=12308&loc=0&thread=12308. Но они мертвые. Дайте ссылку, плиз, а то с ног сбился, не могу исправить этот Error 500, или в двух словах, как сделать.
 

SiMM

Новичок
http://www.spectator.ru/technology/php/user_friendly_urls - начни свой путь отсюда, и далее по ссылкам.
 

Денч

Новичок
вот файл echo_note.php (лежит в дир. links_dir )
PHP:
<?
 $p=strrpos($REQUEST_URI,'/');
 $str= substr($REQUEST_URI,$p+1);
 if($str==1)
{
    header ('HTTP/1.1 200 Ok');
    echo $str;
 }
?>
вот .htaccess
PHP:
ErrorDocument 404 /echo_note.php
ложил и в корень, и в links_dir

вот введенный урл:
http://poit/links_dir/1
Директория links_dir существует.
Ожидаю, что броузер выведет цифру 1. А он в ответ втыкает свою страницу.
Вроде все по инструкциям, а не пашет. Что я не так сделал?

Или дайте мне по башке, чтобы просветлело!
 

Денч

Новичок
AllowOverride All в .htaccess, если не ошибаюсь?
Нет, там только ErrorDocument. В httpd.conf AllowOverride везде только None.
Ошика 500 уже не возникает, (куда делась, так и не понял, почему была, может из за этого:
PHP:
header ('HTTP/1.1 200 Ok');
) но никак не могу врубится, почему не пашет обработка 404.
Прочел статьи на эту тему, все по пунктам расписано, типа, "сделаете так, вот так и эдак, и наслаждайтесь полетом". А вот ни фига...

Вот хидеры:
Код:
GET /links_dir/1 HTTP/1.1
Accept: image/gif, application/x-shockwave-flash, */*
Accept-Language: ru
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Host: poit
Connection: Keep-Alive

HTTP/1.1 404 Not Found
Date: Tue, 15 Feb 2005 21:39:54 GMT
Server: Apache/2.0.46 (Win32)
Content-Length: 13
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1
Что в них таинственного, так и не понял...
 

SiMM

Новичок
> Нет, там только ErrorDocument. В httpd.conf везде только None.
Ну так поставь All, рестартни Апач - это было руководство к действию.

> GET /links_dir/1 HTTP/1.1
> HTTP/1.1 404 Not Found
Ты же не будешь отрицать, что у тебя такого файлика нет? :) О чём тебе честно сообщается. А на .htaccess серверу просто наплевать.

> Что в них таинственного, так и не понял...
Просто фраза
> Ожидаю, что броузер выведет цифру 1. А он в ответ втыкает свою страницу.
малоинформативна.

PS: а тему назвал - Error 500... что-то я ничего не понимаю ;)
 

Денч

Новичок
Просим директорию /links_dir/1
GET /links_dir/1 HTTP/1.1

Такой нет (папки 1 нет, links_dir существует), сервер ответил:
HTTP/1.1 404 Not Found
Это понятно. Но хочется "обмануть" сервер:)

AllowOverride All - сделано

Но
А на .htaccess серверу просто наплевать
Это не понятно... То, что там пропимано, куда нужно серверу сунутся при таком обстоятельстве, как 404, не играет никакрй роли?

-~{}~ 16.02.05 02:35:

PS: а тему назвал - Error 500... что-то я ничего не понимаю
Извиняюсь, поторопился, свалил на нее все беды...

Кстати, промелькнуло такое сообщение об ошибке:
Код:
Warning: Cannot add header information - 
headers already sent by 
(output started at D:\INTERNET\HOME\POIT\WWW\links_dir\echo_note.php:1) 
in D:\INTERNET\HOME\POIT\WWW\links_dir\echo_note.php on line 9
Я так понял, свои хидеры я отправляю после того, как их отправил сервер?? Хотя может, это мой английский кривой:)
И что это такое: echo_note.php:1 ? Я про 1 после echo_note.php:

-~{}~ 16.02.05 02:40:

Все, больше такой ошибки нет...
КУДА. ОНА. ПРОПАЛА?
Я всего лишь на f5 нажал, блин...
В коде ниче не менял...
 

SiMM

Новичок
> AllowOverride All - сделано
Скорее всего, не там менял :) Их там много в httpd.conf'е может быть - найди тот, где примерно следующий комментарий
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo",
# "AuthConfig", and "Limit"
> То, что там пропимано, куда нужно серверу сунутся при таком обстоятельстве, как 404, не играет никакрй роли?
Если сервер не обрабатывает .htaccess - то какая ему разница, что в .htaccess написано?

> И что это такое: echo_note.php:1 ?
Дословный перевод сообщения об ошибке:
Предупреждение: заголовки не могут быть добавлены в D:\INTERNET\HOME\POIT\WWW\links_dir\echo_note.php в строке 9 - они уже были отправлены (отправка заголовков произошла в скрипте D:\INTERNET\HOME\POIT\WWW\links_dir\echo_note.php в строке 1).
 

Денч

Новичок
Выводы: .htaccess обрабатывается. Это видно, если поставить файл *.html. Если стоит *.php, то ничего не происходит:
Содержание .htaccess
ErrorDocument 404 /links_dir/form.html
если же вместо form.html стоит файл *.php, то .htaccess не обрабатывается. Я не знаю, что тут за..., но со мной такое впервые, чтобы биться над одним камнем 2-й день, и безрезультатно...
Либо убейте меня, или, если не трудно, скажите, где нужно копать.

ЗЫ Все рекомендации SiMM выполнил...
 
Сверху