Комментарии к статье ""
17.1.2001 14:13 cat []
На самом деле ты для этой статьи выбрал самый плохой способ для реализации несуществующего файла или каталога. Я имею ввиду то, что ты прописал в .htaccess Есть гораздо более элегантные и красивые решения. Причем не ведущие за собой непредсказуемых результатов ( типа несуществующей картинки). Да и как разобрать $REQUEST_URI это вообще не вопрос для обсуждения. Надо было предложить несколько вариантов написания .htaccess это было бы гораздо интереснее и было бы о чем поговорить. Если интересно обращайся на мыло расскажу подробнее. И конечно тебе не ответят на ленте ру как сделали они. Хотя большой тайны здесь нет они думают, что фантазия есть только у них :)) Ответ DL: |
18.1.2001 19:00 Vitaliy []
:) А интересно, что скажут поисковики на етот мнимый ErrorDocument? Слышал, что для этой цели можно применить Апачевский mod_rewrite..Было бы интересно про это где-то почитать на понятном русском языке...или УРЛ..Спасибо. Ответ DL: |
19.1.2001 17:17 Dema
To: bigcat@ Ну выложи для всех твои решения... Чаво умничать, а то мож они не такие красивые.... Ответ DL: |
19.1.2001 20:46 ELis []
На мой взгляд такая метода достаточно удобна и дает красивые адреса. Но есть один неприятный момент: выдача существующего документа апачем производится гораздо быстрее, чем узнавание его адреса скриптом и последующая сборка. Посему использование ее для информационных сайтов с большим числом посетителей будет сильно грузить сервер. Ответ DL: |
21.1.2001 15:23 camel
редкостно кривой способ. есть apache, есть mod_rewrite для него - зачем изобретать велосипед? Ответ DL: |
22.1.2001 14:24 Роман []
Проблема такая. Прописываю в htaccess ErrorDocument 404 all.php3 и у меня по 404 ошибке перескакивает на тот файл целиком. В нем же REQUEST_URI равен all.php3 а не виртуальному пути :( Если можно сразу ответить, пишите на arauf@mail.ru -- а то проблема висит :( |
table width="100%" cellpadding="0" cellspacing="0" >
Кто нибудь разобрался, как в методе "404" передать $QUERY_STRING?
Ну никак у меня не получилось. а нужно. например для поиска.
8.2.2001 15:31 Sasha [] Может поможите люди добрые, у меня проблема. Я пишу в .htaccess вот это ErrorDocument 404 /all.html ErrorDocument 403 /all.html ErrorDocument 402 /all.html и пишу какой- то не правильный урл на моем сайте http://www.mysite.com/blablabla а мне все равно выдается страничка браузера Ответ DL: Черным по белому написано же: header ("HTTP/1.0 200 Ok"). |
8.2.2001 22:55 Sasha [] аааа, делал переадресацию и на PHP файл в котором в самом начале было вот такое header ("HTTP/1.0 200 Ok") но проблема еще вот в чем, под виндой эта фича не работает, а пробовали тот же httpd.conf в линксе там заработало =( немогу понять в чем дело |
9.2.2001 00:30 Sasha [] Я вот тут все еще сижу и тра*аюсь над всем этим делом. Попробовал я все это дело в Netscape и он умница поведал мне что я имею кроме Нот Фаунд еще и 500-ую ошибку связанную с ErrorDocument. Я тогда отключил хидер который посылает OK-OB :) И у меня на время все заработало, но ИЕ делал переадресацию на файл который я подставляю, а нетскейп все красиво как я ввел (http://127.0.0.1/go/to/news) вот этот баг мне не понравился. После этого я подумал "Если работает без хидера подставлю ка я .html файл" и тут все началось с начала :( Возвращаю все обратно и в нетскейпе работает, а в эксплорере нифига :( Ну что это такое и как с ним бороться??? Ответ DL: Значит у тебя под линуксом php установлен как модуль (а иначе там нельзя, наверное), а под виндой - как CGI. "Отдельно стоящий" php не может посылать такие заголовки правильно. Выход ? либо поставить модуль, либо закомментировать строки с хедэрами (насколько я понимаю, под виндой ты тестируешь), а перед закачкой на сервер - раскомментировать. Остальное из того, что ты пишешь, для меня покрыто туманом ? выражайся яснее, а лучше пиши в форум. |
14.2.2001 16:12 Sasha [] Хе-хе. А у експлорера есть настройка которая перехватвает все коды ошибок Show friendly HTTP error messages как с ней бороться? Не могу же я каждому пользователю говорить что вот надо зайти и выключить эту фишку и у вас будет все работать. Как вы от этого избавились? Ответ DL: №;%$^@! HEARED("HTTP/1.0 OK!!!");!!! |
table width="100%" cellpadding="0" cellspacing="0" >
DL: Черным по белому написано же: header ("HTTP/1.0 200 Ok").
Это надо поставить строкой в .htaccess или куда то еще?
Ответ DL:
header - это функция php, значит надо писать это в скрипте-обработчике запросов.
18.2.2001 03:14 Константин Немного в вдогонку. Как я понял, необходимо создать файл на PHP, который будет печатать необходимый хеадер и загружать страничку. Многие посетители Вашего сервера не знакомы даже с основами PHP, поэтому не могли бы Вы привести самый простой пример решения довольно таки актуальной для многих проблемы обработки ошибок експлорером? Ответ DL: Это здесь же и написано! :) |
18.2.2001 14:27 Константин Это правильно? ----- missing.html ----- <?php header("http/1.0 200 Ok"); ?> <html> <head> <title>HTTP 404 - File not found</title> </head> HTTP 404 - File not found </body> </html> ----- missing.html ----- Ответ DL: Да. Только в директории, в которой надо открывать missing.html по неправильному запросу, надо положить файл .htaccess с такой строкой: ErrorDocument 404 missing.html Кстати, расширение лучше не html, а php. Тут надо выполнять php-код, а файлы .html такую обработку обычно не проходят (настройки в mime.types). |
1.3.2001 18:48 Максим [] Если PHP стоит как модуль апача, то URL типа /somepage/foo/bar не вызывает ошибок, в случае если существует файл /somepage.php (расширение в URL тоже можно пропустить). Будет вызван /somepage.php, при этом $SCRIPT_NAME будет содержать "/somepage" (не somepage.php !!), в $PATH_INFO будет /foo/bar . Дальше с этим можно делать все что заблагорассудится. Полная иллюзия каталогов и файлов. Ответ DL: Такое вроде бы пройдет, но кое у кого возникают ошибки, если вызвать одновременно MultiViews и RewriteRule. |
7.3.2001 10:21 Sasha [] Спасибо тебе за помощь. Я вот по твоей статье сделал и все работает. Можно посмотреть здесь http://ezone.com.ua/news/ Ответ DL: Душа радуется :) |
21.3.2001 15:41 David Mzareulyan [] 2eXpert: Элементарно, Ватсон! $HTTP_SERVER_VARS["REDIRECT_QUERY_STRING"] Парсить, увы, ручками... |
table width="100%" cellpadding="0" cellspacing="0" >
Спасибо большое за подробную полезную статью!
27.3.2001 00:18 ukrhotel [] Спасибо!! Так долго об этом думал, мечтал. !!! И вчера прочитал вашу статью и сделал все точь в точь. Теперь жизнь новая начинается!!! www.ukrhotel.com User friendly URL URA Ответ DL: угу :) |
27.3.2001 12:11 Sergei [] Насчет - [14.02.2001 16:12] не совсем понятно. совмещать 2 headers ???? |
6.4.2001 12:33 Sergei [] Ну не получается заставить работать 404..=( перепробовал все. В в конфиге апача не нужно ничего прописывать ? Насчет M$ не понятно. Ответ DL: В конфиге апача ничего прописывать не надо. Всё - в .htaccess |
11.4.2001 20:28 eagle Не совсем понятен совет писать в .htaccess, а не в апачевский конфиг. Конфиг читается только призапуске сервера, а .htaccess при каждом обращении к серверу - зачем сервер лишней работой грузить? |
23.4.2001 11:00 Smith [] Все типа правильно, но есть одно но... На access_log посмотрите, одни 404 :) |
22.5.2001 19:15 Muxa [] Нашёл статью.. и мею что сказать. По наивности я тоже хотел сделать себе сайт на таком движке (сам изобрёл и был жутко горд). Увы, обломал меня подлый IE 5.5. Он отказался работать с файлом (в вашем примере all.php) в случае если этот файл имеет размер меньше 512 байт. Смириться с подобным траблом я не мог, бо никто не знает что ещё может выкинуть броузер. Так что не всё так просто. З.Ы. Впоследствии я узнал что изобретал собственный rewrite модуль. так что rtfm. :) |
13.10.2001 10:01 Taras [] А как, в таком случае получать данные из формы, если она была послана методом POST? В какие переменные Апач засовывает эти данные? Пока я только разобрался, что форма присланая методом GET лежит в REDIRECTED_QUERY_STRING (вообщем-то можно и через REQUEST_URI, но это чуть сложнее). |
11.12.2001 08:43 DiMA [] > Спасибо тебе за помощь. Я вот по твоей статье сделал и все работает. Можно посмотреть здесь > http://ezone.com.ua/news/ Смотрим. Warning: Unable to jump to row 0 on MySQL result index 2 in bynews.inc on line 18 Warning: Unable to jump to row 0 on MySQL result index 2 in bynews.inc on line 19 Ответ DL: Оно там работало полгода назад, я сам видел :) |
table width="100%" cellpadding="0" cellspacing="0" >
Есть еще один вариант извращенной емуляции mod_rewrite (проверено только в Апаче). Говорите Апачу, что файлы с расширением .news и .article - это ПХП скрипты. После этого создаете файлики (именно .news) а параметры передаете через $PATH_INFO. И получается, что при запроче урл вида www.site.com/.article/enot/2002-01-01/krasivo выполняется файлик .article, а /enot/2002-01-01/krasivo будет лежать в переменной окружения с именем PATH_INFO. О мне кажется, что это все для извращенцев или для людей, которые не могут по тем либо другим причинам поставить mod_rewrite.
Замечание: данная реализация изврата не будет работать, если ві используете CGI-ерсию ПХП.
table width="100%" cellpadding="0" cellspacing="0" >
BTW: проблема с HREF в A и SRC у картинок IMHO решается введением в <head></head> докуменка <base href=http://www.mysite.com/>.
table width="100%" cellpadding="0" cellspacing="0" >
Privet vsem. Sdelal kak napisano v stat'e no u menya nichego ne poluchilos
naprimer u menya takaya ssilka
news.php?id=3&date=01.01.2000
kak mne ukazat ssilku v html
i v php.
table cellpadding="4" cellspacing="0" >
table cellpadding="4" cellspacing="0" bgcolor="#e1e1e1">
© , 1999-2002