Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];

Вниз

Даунлоад на php. Подсчет кол-во скачиваний.   Найти похожие ветки 

 
SergP.   (2005-12-10 13:21) [0]

Нужно написать скрипт для даунлоада (чтобы подсчитывать кол-во раз скачиваний).

пишу пока так:


<html>
<head>
 <title>[Downloads]</title>
 <meta http-equiv="Content-Type" CONTENT="text/html; charset=windows-1251">
<?
$id=$HTTP_GET_VARS["id"];
include("config.php");

@mysql_query("update download set counter=counter+1 where id=$id");

$result=mysql_query("select filename,coment from download where id=$id");

$line=mysql_fetch_array($result);

print "<META http-equiv="refresh" content="2;URL=";
print "$line[0]";
print ""></head><body>";
print "Скачивание начнется через 2 секунды<br>";
print "Если Ваш браузер не поддерживает перенаправление,<br>";
print "то для скачивания перейдите по ссылке<br>";
print "<a href="";
print "$line[0]";
print """;
print ">$line[1]<a><br>";

print "</body>";
?>
</html>


Возникает проблема в том что если юзер начнет нажимать "обновить" или еще что-нить делать, то счетчик будет каждый раз увеличиваться, т.е. не будет правильно отображать реальное кол-во скачиваний.

Как попроще устранить эту проблему?


 
boriskb ©   (2005-12-10 13:24) [1]

http://www.webscript.ru/


 
VirEx ©   (2005-12-10 14:37) [2]

у меня примерно такая же проблема но мне Kerk посоветовал если на серваке стоит Апач, и есть модуль mod_rewrite, то нужно в корневой папке сайта записать файл .htaccess, он умеет перенаправлять все запросы через какойнить скрипт и вообще настраивает поведение сервера насчет запросов с клинетских машин, только я в синтаксисе вообще разобраться не могу... ну примерно что-то вот такое:

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/index.php
RewriteCond %{QUERY_STRING} "^action=downloadfile"
RewriteRule .* /compat.cgi [L,NS]


 
Kerk ©   (2005-12-10 14:39) [3]

VirEx ©   (10.12.05 14:37) [2]

Не о том, тут речь. Не о том :)


 
boriskb ©   (2005-12-10 15:02) [4]

VirEx ©   (10.12.05 14:37) [2]
папке сайта записать файл .htaccess


А апач сам сконфигурируется?
Судя по названию файла, подразумевается тонкая настройка апача.


 
Kerk ©   (2005-12-10 15:08) [5]

boriskb ©   (10.12.05 15:02) [4]
А апач сам сконфигурируется?


Сам. В приведенном примере Апач перенаправляет все запросы файла index.php, где есть параметр action=download на скрипт compat.cgi с сохранением параметров. Файла index.php у меня вообще нет. На старом движке был, теперь нет. Но все старые ссылки, благодаря .htaccess, работают.


 
boriskb ©   (2005-12-10 16:02) [6]

Kerk ©   (10.12.05 15:08) [5]

Тыды ОЙ :)


 
Kerk ©   (2005-12-18 15:38) [7]

Пишем в .htaccess
RewriteEngine on
RewriteCond %{REQUEST_URI} zip$
RewriteRule .* /counter.php?%{REQUEST_URI} [L,NS]


Далее скрипт counter.php должен увеличить счетчик и выдать файл. Имя запрашиваемого файла будет находиться в переменой окружения QUERY_STRING.

ИМХО, такое решение оптимально, т.к. и счетчик есть и ссылка на файл - прямая.


 
Piter ©   (2005-12-18 15:53) [8]

SergP.   (10.12.05 13:21)
Возникает проблема в том что если юзер начнет нажимать "обновить" или еще что-нить делать, то счетчик будет каждый раз увеличиваться


ну естественно, а как еще? У счетчиков такие же проблемы - есть лично хостов, а есть число уникальных посетителей.

С достаточной степенью точности можешь сделать так -  при скачивании добавляй IP в бан-лист минут на 20-30. Если IP уже в бан листе - то счетчик не должен увеличиваться.

Еще способ - при скачиании файла прописывай соответствующий параметр в куках. Соответственно, если в куках уже есть запись о скачивании этого файла - счетчик не увеличивается.

Можно сделать компбинацию этих методов.

А по другому никак :(

SergP.   (10.12.05 13:21)
print "<META http-equiv="refresh" content="2;URL=";
print "$line[0]";
print ""></head><body>";


идеологически неправильно. Если на хостинге PHP скрипту разрешено формировать заголовок, то:

header("Location: http://www.example.com/test.zip");

Читаем: http://php.rinet.ru/manual/ru/function.header.php

В этом случае не просто перенаправление средствами HTML, а именно заголовок HTTP ответа будет установлен в код перенаправления, что куда правильнее, это поддерживают все браузеры, менеджеры закачек и т.д.

Kerk ©   (18.12.05 15:38) [7]
алее скрипт counter.php должен увеличить счетчик и выдать файл. Имя запрашиваемого файла будет находиться в переменой окружения QUERY_STRING


это ты автору темы советуешь? А при чем здесь проблема обновления и увеличения счетчика?

Кстати, не рекомендую пользоваться mod_rewrite - средство, конечно, универсальное, но оно неоправданно грузит сервер, да и не на всех хостингах этот модуль подключен...


 
Piter ©   (2005-12-18 15:54) [9]

boriskb ©   (10.12.05 15:02) [4]
папке сайта записать файл .htaccess

А апач сам сконфигурируется?
Судя по названию файла, подразумевается тонкая настройка апача


хех :)))

.htaccess к тонкой настройке апача не имеет никакого отношения :)

Данный файл используется почти всеми, кто работает с апачем нормально :)


 
Kerk ©   (2005-12-18 16:01) [10]

Piter ©   (18.12.05 15:53) [8]
А при чем здесь проблема обновления и увеличения счетчика?


При том, что его счетчик идеологически неправильный. Я показал как надо. Предлагаемый мной метод более универсальный. Ссылку типа site.ru/download.php?id=234 ты ни в какой софт-архив не запостишь. А site.ru/file.zip - легко. К тому же выглядит оно более user-friendly.

> Кстати, не рекомендую пользоваться mod_rewrite

Не рекомендуй. От этого большинство сайтов им пользоваться не перестанут.


 
Kerk ©   (2005-12-18 16:06) [11]

А если вынести все файлы на отдельный домен, например.. типа dl.site.ru/file.zip .. и .htaccess сделать только в этом домене, то вообще красота получается.


 
Piter ©   (2005-12-18 16:07) [12]

Kerk ©   (18.12.05 16:01) [10]
Я показал как надо


как ты показал - так не надо :)

Kerk ©   (18.12.05 16:01) [10]
типа site.ru/download.php?id=234 ты ни в какой софт-архив не запостишь. А site.ru/file.zip - легко


хм, не понял логики. Ну а почему бы не сделать ссылки вида: site.ru/file.zip ? Зачем тут mod_rewrite?

Kerk ©   (18.12.05 16:01) [10]
Не рекомендуй. От этого большинство сайтов им пользоваться не перестанут


опять ты в Бога играешь. Откуда ты знаешь про большинство? Статистику делал?
И какой же хороший, популярный сайт использует mod_rewrite?

Профессиональные PHP программеры не используют mod_rewrite, потому что в этом зачастую просто нет необходимости, а при этом он не везде поддерживается, да еще и сервер загружает. Что при десятках тысяч запросов очень даже проявит себя.


 
Kerk ©   (2005-12-18 16:11) [13]

Piter ©   (18.12.05 16:07) [12]
Ну а почему бы не сделать ссылки вида: site.ru/file.zip ? Зачем тут mod_rewrite?


Потому, что без mod_rewrite мы количество скачиваний не посчитаем. А если охота в логи лезть, то тут вообще никаких счетчиков не надо.

> И какой же хороший, популярный сайт использует
> mod_rewrite?

Ну из того, что под руку попалось - http://sport-express.ru/
Почитай что-нибудь про псевдостатику, может, поймешь о чем я.

> Профессиональные PHP программеры не используют
> mod_rewrite

Полный бред. Использование mod_rewrite зачастую не связано с программированием вообще.


 
boriskb ©   (2005-12-18 16:16) [14]

Piter ©   (18.12.05 15:54) [9]
.htaccess к тонкой настройке апача не имеет никакого отношения :)


Не будь нудней чем я :)
Этот файл имено для настройки и предназначен.
А уж "тонко" или "толсто" это у кого как получится :))


 
Piter ©   (2005-12-18 16:18) [15]

Kerk ©   (18.12.05 16:11) [13]
Потому, что без mod_rewrite мы количество скачиваний не посчитаем


что за бред? PHP скрипт начисляет счетчик, перенаправляет к реальному месторасположению файла - какая разница, есть mod_rewrite или нет?

Kerk ©   (18.12.05 16:11) [13]
Ну из того, что под руку попалось - http://sport-express.ru/


а с чего ты взял, что они используют mod_rewrite?


 
Kerk ©   (2005-12-18 16:24) [16]

Piter ©   (18.12.05 16:18) [15]
PHP скрипт начисляет счетчик, перенаправляет к реальному месторасположению файла


Ссылку вида site.ru/dl.php?id=1322 в ни в какой софтархив не примут. Все требуют прямые ссылки.

> а с чего ты взял, что они используют mod_rewrite?

С того, что там используется очевидная псевдостатика? (ты про нее уже почитал?)
Посмотри как выглядят ссылки на статьи - http://news.sport-express.ru/online/ntext/11/nl113100.html
Неужели ты думаешь, что у них такая дикая привычка называть папки и файлы числами?
Url содержит параметры для запроса к БД. Файла /online/ntext/11/nl113100.html на сервере не существует, то что мы видим в браузере - результат деятельности скрипта.
Использование псевдостатики очень распространено в инернете.

Вот тебе еще пример - http://lenta.ru/


 
Piter ©   (2005-12-18 16:33) [17]

Kerk ©   (18.12.05 16:24) [16]

Хех, можно даже сказать ЛОЛ, я понял :)

Да ты получается таких элементарных вещей не знаешь, а уверен в себе, как архангел Гавриил (хотя ты бы не был Kerk"ом, если б было не так :)
Еще про псевдостатичку говоришь :)

Ты, судя по всему, решил, что ссылки вроде: domen.com/file.zip без mod_rewrite никак не реализовать. Странное заблуждение.

Рассказываю тогда. В .htaccess просто пишешь:

ErrorDocument 403 /redirect.php
ErrorDocument 404 /redirect.php


Соответственно, в скрипте redirect.php обрабатываешь URL и сам редиректишь куда надо. Это и богаче по возможностям, чем mod_rewrite, и эффективнее, если все правильно писать (по крайней мере, если PHP как модуль подцеплен).


 
Piter ©   (2005-12-18 16:35) [18]

Kerk ©   (18.12.05 16:24) [16]
осмотри как выглядят ссылки на статьи - http://news.sport-express.ru/online/ntext/11/nl113100.html


Kerk ©   (18.12.05 16:24) [16]
Вот тебе еще пример - http://lenta.ru/


соответственно, почему ты решил, что там используется mod_rewrite - я не понял.


 
Kerk ©   (2005-12-18 16:38) [19]

Piter ©   (18.12.05 16:33) [17]
ErrorDocument 403 /redirect.php
ErrorDocument 404 /redirect.php


Это еще что за бред? А если запрашиваемый файл на диске есть что произойдет? Ты не пытайся прикрутить сюда то, что для этого явно не предназначено.

А про псевдостатику почитай.


 
Kerk ©   (2005-12-18 16:39) [20]

Piter ©   (18.12.05 16:35) [18]
соответственно, почему ты решил, что там используется mod_rewrite - я не понял.


А я на это даже и не надеялся. Тебя только личные свидетельства админов этих сайтов убедят в чем-то и то врядли. Ибо спорить ради спорить.


 
Piter ©   (2005-12-18 16:40) [21]

Kerk ©   (18.12.05 16:38) [19]
Это еще что за бред? А если запрашиваемый файл на диске есть что произойдет?


ты лучше сам почитай. А еще лучше исходники профессиональных скриптов посмотри.

Это комманда для Апача, если файл не найден - перенаправление на скрипт redirect.php


 
Kerk ©   (2005-12-18 16:40) [22]

Piter ©   (18.12.05 16:40) [21]
Это комманда для Апача, если файл не найден - перенаправление на скрипт redirect.php


Ну так а что произойдет, если файл найден?


 
Piter ©   (2005-12-18 16:42) [23]

Kerk ©   (18.12.05 16:38) [19]
А если запрашиваемый файл на диске есть что произойдет?


тогда ошибки 404 не будет, блин и произойдет обращение к этому файлу, который существует.

Ты хоть знаешь, что за код ошибки 404 в HTTP?


 
Kerk ©   (2005-12-18 16:43) [24]

Piter ©   (18.12.05 16:42) [23]
тогда ошибки 404 не будет, блин и произойдет обращение к этому файлу, который существует.


А нам этого не надо. Нам надо все запросы редиректить.

> Ты хоть знаешь, что за код ошибки 404 в HTTP?

Пальцы разогни, гнутые тебе не идут.


 
Piter ©   (2005-12-18 16:43) [25]

Kerk ©   (18.12.05 16:39) [20]
А я на это даже и не надеялся. Тебя только личные свидетельства админов этих сайтов убедят в чем-то и то врядли


ок, а я тебе говорю - на сайте lenta.ru не используется mod_rewrite.
Если будет возражать, то скажу, что тебя ничего не убедит.


 
Kerk ©   (2005-12-18 16:46) [26]

Piter ©   (18.12.05 16:43) [25]

Вот я об этом и говорю. Демагогией занимаешься.
Ты про то, как делается псевдостатика уже почитал?
Ты действительно думаешь, что перенаправить юзера на redirect.php, разобрать там параметры и перенаправить на нужный скрипт меньше грузить сервер, чем разбор параметров в .htaccess и перенаправление сразу на нужный скрипт? LOL


 
Piter ©   (2005-12-18 16:47) [27]

Kerk ©   (18.12.05 16:43) [24]
А нам этого не надо. Нам надо все запросы редиректить


ну ты уже заговорился, Kerk.

Итак, у тебя РЕАЛЬНО существует файл на сервере:

kerkzone.com/file.zip

Пользователь обращается к этому файлу. Этот файл скачается? НЕЕЕТ. Ведь Kerk"у нужно все запросы редиректить, итак запускается скрипт. Он подсчитывает количество скачек... и? Куда он будет редиректить?

Опять на: kerkzone.com/file.zip  ???

Открою секрет - опять сработает правило mod_rewrite и ... Твой сервак вместе с клиентом уйдет в бесконечную рекурсию.

Или как у тебя организовано?

Физически есть файл:

kerkzone.com/file.zip

Но есть еще его копия:

dl.kerkzone.com/file.zip

Куда ты и редиректишь. А нафига тогда спрашивается тебе дубликаты на сервере?

Как-то нелогично, ты не находишь?


 
Kerk ©   (2005-12-18 16:50) [28]

Piter ©   (18.12.05 16:47) [27]
Открою секрет - опять сработает правило mod_rewrite и ... Твой сервак вместе с клиентом уйдет в бесконечную рекурсию.


Не сработает. Я не буду делать никаких 301 или 302. Я выдам файл самим скриптом.


 
Piter ©   (2005-12-18 16:53) [29]

Kerk ©   (18.12.05 16:46) [26]
что перенаправить юзера на redirect.php, разобрать там параметры и перенаправить на нужный скрипт меньше грузить сервер, чем разбор параметров в .htaccess и перенаправление сразу на нужный скрипт? LOL


Что ЛОЛ? Ты сейчас неправ, и пытаешься сделать хорошую мину при плохой игре. Только что вообще чушь написал, о чем я тебе в [27] рассказал.

Ты не знал об этом способе перенаправления - и тут же попытался найти в нем недостаток, даже не подумав.

Теперь ты утверждаешь о скорости работы, хотя я уверен, что у тебя никаких сведений по этому поводу нету, только твои предположения.

Я, кстати, сказать тоже экспериментов не ставил, но я хотя бы читал статьи владельцев крупных серверов, которые писали насколько меньше грузит сервер данный способ в отличии от mod_rewrite.
Почему так происходит? Не знаю, но это факт. По крайней мере, когда PHP как модуль установлен.


 
Kerk ©   (2005-12-18 16:54) [30]

Piter ©   (18.12.05 16:47) [27]
Как-то нелогично, ты не находишь?


Все полностью логично. Не надо пытаться использовать для редиректа то, что в общем случае для редиректа не предназначено - 404. Или ты предлагаешь при написании движка сайта задокументировать имена файлов, которые нельзя использовать?


 
Kerk ©   (2005-12-18 16:56) [31]

Piter ©   (18.12.05 16:53) [29]

Ты, если на кого-то ссылаешься, давай ссылку. Иначе - пустой треп.

> Теперь ты утверждаешь о скорости работы, хотя я
> уверен, что у тебя никаких сведений по этому поводу
> нету, только твои предположения.

А подумать не пробовал? В варианте с 404 мы имеем на один шаг больше - вызов промежуточного скрипта.


 
Piter ©   (2005-12-18 16:58) [32]

Kerk ©   (18.12.05 16:50) [28]
Я не буду делать никаких 301 или 302. Я выдам файл самим скриптом


и ты это называешь хорошей идеей?

Это еще больше затормозит работу сервера, если ты вручную будешь передавать файл. Представляешь, какое время работы будет у скрипта, если начнет качать Dial-Up"щик файл размером мегабайт в 10 хотя бы?

А если скачек тысячи? Тысячи одновременно запущенных сриптов отдачи? Не смеши, это не оптимально.

Опять же это изобретение велосипеда, тебе нужно будет в скрипте реализовать докачку файла и т.д.
Отдавать файлы апач сам идеально умеет, это его основополагающая функция.


 
Kerk ©   (2005-12-18 17:02) [33]

Piter ©   (18.12.05 16:58) [32]
и ты это называешь хорошей идеей?


Это хорошая идея для случаев, когда нужно контролировать скачивание файлов. Тогда доступ к папке с файлами можно вообще закрыть для юзеров.

Для файлопомойки, конечно, не оптимально.


 
Piter ©   (2005-12-18 17:02) [34]

Kerk ©   (18.12.05 16:56) [31]
Ты, если на кого-то ссылаешься, давай ссылку


например, http://kpnemo.ru

И всякие отзывы о сайте можешь оставить при себе. Движок написан крайне грамотно,

Kerk ©   (18.12.05 16:54) [30]
Не надо пытаться использовать для редиректа то, что в общем случае для редиректа не предназначено - 404


что значит не предназачено? У тебя более глубокие доводы против этого способа есть?

Файла нет - возникает ошибка 404, происходит перенаправление на файл-скрипт. Он там опять же может установить 404, может что угодно сделать. Что не так?

Kerk ©   (18.12.05 16:56) [31]
А подумать не пробовал? В варианте с 404 мы имеем на один шаг больше - вызов промежуточного скрипта


думать ты можешь сколько угодно. Я тебе назвал экспериментальный файл. Еще раз, ПОЧЕМУ так происходит - я не знаю. Но так происходит.

Ты можешь упереться рогом и говорит, что так НЕ ДОЛЖНО быть. Но ведь так есть.


 
Piter ©   (2005-12-18 17:07) [35]

Kerk ©   (18.12.05 17:02) [33]
Это хорошая идея для случаев, когда нужно контролировать скачивание файлов


ты говорил про оптимальность. Твой способ НЕ оптимальный.

mod_rewrite более медленный способ по сравнению с тем, что я привел.

Собственно, если тебе так нравится выдавать файлы с помощью скрипта - дело твое, но использование mod_rewrite совершенно лишнее.


 
Kerk ©   (2005-12-18 17:17) [36]

Piter ©   (18.12.05 17:02) [34]
что значит не предназачено? У тебя более глубокие доводы против этого способа есть?

Есть:

Или ты предлагаешь при написании движка сайта
задокументировать имена файлов, которые нельзя
использовать?


> Но ведь так есть.

Конечно. Ты как всегда прав.

P.S. А про то как работает псевдостатика. Вообще полезно иногда читать что-нибудь кроме блогов. С тобой как всегда скучно.

http://forum.searchengines.ru/showthread.php?t=31433
http://forum.searchengines.ru/showthread.php?t=29941

Piter ©   (18.12.05 17:07) [35]

Да, да, да, ты прав! Добей меня танцем!


 
Piter ©   (2005-12-18 18:03) [37]

Kerk ©   (18.12.05 17:17) [36]
Или ты предлагаешь при написании движка сайта
задокументировать имена файлов, которые нельзя
использовать?


а какие имена нельзя использовать в моем способе?

Kerk ©   (18.12.05 17:17) [36]
Конечно. Ты как всегда прав.


Судя по тону фразы, ты как раз считаешь, что я не прав. Ну и в чем я не прав? У тебя хоть какие-то аргументы есть?

Я тебе назвал свои аргументы. Точнее, они даже не мои. Но ты просил линк - я дал тебе линк.
Ты же не привел НИЧЕГО.

Более того, ты об этом способе вчера даже еще не знал! Что не помешало тебе буквально в течении 10 минут сделать вывод, что способ, конечно, куда хуже, чем mod_rewrite.

Ты сейчас заведешь полемику куда угодно, но никогда не скажешь - "да, блин, не знал - надо попробовать".
Более того, когда ты подумаешь впоследствии - вполне возможно ты начнешь использовать данный способ.

Kerk ©   (18.12.05 17:17) [36]
Вообще полезно иногда читать что-нибудь кроме блогов


да, да. И дает ссылку на форум. Форум, конечно, куда более правдивое средство информации, чем блог. Даже не чем блог, а чем информация от владельца ОЧЕНЬ популярного блога. Человека, который САМ этот блог пишет, а не просто поставил готовые скрипты.

Kerk ©   (18.12.05 17:17) [36]
http://forum.searchengines.ru/showthread.php?t=31433
http://forum.searchengines.ru/showthread.php?t=29941


И что? Я там даже не нашел упоминаний о способе, который привел.
Более того, на вопрос:

"Или может кто знает другой способ как страницы в псевдостатику перевести"

никто не привел "моего" способа.

И даже судя по репликам, типа:

"http://gazeta.ru/2005/12/07/oa_180712.shtml

Они, наверное, не знают, что Николай Попков перестраховывается? Я в смысле, что нагрузка у газеты как у сотни попковых"


они также как и ты раньше, просто и не знают других способов. Они также уверены, что если видят ЧПУ-урл, то значит это mode_rewrite.

Ну и нафиг ты дал ссылку на эти топики? Сосвсем аргументов нет? :)


 
Piter ©   (2005-12-18 18:07) [38]

Kerk ©   (18.12.05 17:17) [36]
С тобой как всегда скучно


несомненно. Фактически я доказал, что ты неправ, я привел аргументы, хотя бы мнения других, известных более-менее людей. Ты же по теме:

mode_rewrite vs ErrorDocument

не привел ни одного аргумента. Да и как ты мог их привести, если о втором узнал пару часов назад. Только в стиле "Сам подумай, ведь ДОЛЖНО быть ..."


 
Piter ©   (2005-12-18 18:07) [39]

Piter ©   (18.12.05 18:07) [38]
Фактически я доказал, что ты неправ


так что с чего бы тебе было со мной весело :)


 
Piter ©   (2005-12-18 18:09) [40]

Я даже знаю, как ты будешь комментировать мою фразу:

"Фактически я доказал, что ты неправ"

Ты применишь стандартный демагогический прием:

"Да, ты бог, ты конечно прав, мы все тебе поклоняемся, о великий Piter".

То есть, начнешь юродствовать за неименение аргументов :)

P.S. Хотя после этого поста уже не начнешь :)


 
Kerk ©   (2005-12-18 18:18) [41]

Piter ©   (18.12.05 18:03) [37]
а какие имена нельзя использовать в моем способе?


Допустим.. страничка site.ru/about .. там я скриптом настроил при 404 переход на redirect.php и выдаю информацию о фирме.. все ок. Что будет, если я создам в корне сайта папку с именем about ?

> Но ты просил линк - я дал тебе линк.

Линки на спорт-экспресс, газета.ру и лента.ру тебе тоже дали.

> Даже не чем блог, а чем информация от владельца ОЧЕНЬ
> популярного блога.

Мнение всяких экслеров и кпнемо малоавторитетно.

> никто не привел "моего" способа.

Конечно. Люди зарабывающие на хлеб веб-мастерингом не опускаются до такого бреда.

Еще вопросы.
Допустим настроил при 404 переход на redirect.php. Юзер пишет site.ru/adasdasdsad.. управление получает скрипт.. видит что в параметрах бред.. нужно сказать, что нету такой страницы. Как? Возвращать 404 нельзя, сервер зациклится. Возвращать 200, пусть и с текстом Page not found, некорретно. Можно вообще сделать как на мастаках - http://delphimaster.ru/asdasdasdasd - за такое авторам стоит оторвать ноги.

> Фактически я доказал, что ты неправ

В этом вся твоя суть. Спор - не средство установления истины, а попытка доказать что ты прав.


 
Piter ©   (2005-12-18 18:47) [42]

Kerk ©   (18.12.05 18:18) [41]
Допустим.. страничка site.ru/about .. там я скриптом настроил при 404 переход на redirect.php и выдаю информацию о фирме.. все ок. Что будет, если я создам в корне сайта папку с именем about ?


понятно. Не аргумент, потому что человек САМ создает эти перенаправления, а чего ему тогда удивляться?

Ты сейчас основываешься на том, что человек использует "мой" способ, у него есть redirect.php - но при этом человек не понимает, что этот redirect.php делает и зачем нужен.

Если так подходить - то и в твоем mode_rewrite можно такое же найти, когда ламер получит не то, что хочет. А так как комманды mode_rewrite могут быть очень навороченным, то таких примеров будут сотни.

Да и вообще - ты говоришь, что:

Kerk ©   (18.12.05 17:17) [36]
Или ты предлагаешь при написании движка сайта
задокументировать имена файлов, которые нельзя
использовать?


а ты предлагаешь при написании движка сайте задокументировать, что ему нужен mode_rewrite? :)

Это тоже самое. Кстати, далеко не все хостинги поддерживают mode_rewrite - и это еще один аргумент в мою пользу.

Kerk ©   (18.12.05 18:18) [41]
Линки на спорт-экспресс, газета.ру и лента.ру тебе тоже дали


И ЧТО? Можешь дать еще сотню линков. КТО ТЕБЕ СКАЗАЛ, что там используется mode_rewrite?

На KpNemo.ru то точно используется ErrorDocument, а вот откуда ты взял, что на "спорт-экспресс, газета.ру и лента.ру" используется mode_rewrite - непонятно.

Уверен, что ниоткуда не взял. Тебе просто так хочется думать, что там используется mode_rewrite, вот и все.

Kerk ©   (18.12.05 18:18) [41]
Мнение всяких экслеров и кпнемо малоавторитетно


я бы оценил это высказывание, если бы ты сам приводил линки на что-то серьезное.

А то ТЫ даешь ссылки на ФОРУМ, и при этом упрекаешь МЕНЯ в том, что я даю малоавторитетные ссылки :)

Ты в своем репертуаре - "Если я привожу такой аргумент - то это истина, если ты приводишь этот аргумент - то это бред".


 
Piter ©   (2005-12-18 18:50) [43]

Kerk ©   (18.12.05 18:18) [41]
Можно вообще сделать как на мастаках - http://delphimaster.ru/asdasdasdasd - за такое авторам стоит оторвать ноги.


ну тут вообще без комментариев. Оторвать ноги? Это тебе твои:

Kerk ©   (18.12.05 18:18) [41]
Люди зарабывающие на хлеб веб-мастерингом


рассказали?

Не хочу вас огорчать, но именитейшие сайты в интернете почему-то придерживаются другой точки зрения, видимо ничего не понимают в WEB-мастеринге - напиши им письмо:

http://google.com/asdasdasdasd
http://www.borland.com/asdasdasdasd
http://www.microsoft.com/asdasdasdasd
http://lenta.ru/asdasdasdasd

Веб-мастера этих сайтов (в том числе восхваляемый тобой Гугл) ничего не понимают, да?

Думаю, в поддержку своего мнения ты и это сейчас заявишь, мол ни Microsoft, ни Google ничего не понимают в том, как надо делать веб-сайты.

Kerk ©   (18.12.05 18:18) [41]
В этом вся твоя суть. Спор - не средство установления истины, а попытка доказать что ты прав


не понял, а ты сейчас в споре не пытаешься доказать, что ты прав? Причем, уже несешь явный бред, говоря про http://delphimaster.ru/asdasdasdasd и я тебе объективно показываю, НА ПРИМЕРЕ, что популярнейшие сайты в интернете считают не так, как ты.


 
Kerk ©   (2005-12-18 18:52) [44]

Piter ©   (18.12.05 18:47) [42]
Ты сейчас основываешься на том, что человек использует "мой" способ, у него есть redirect.php - но при этом человек не понимает, что этот redirect.php делает и зачем нужен.


При использовании mod_rewrite ему ничего не нужно понимать. Главное - не лезть внутрь .htacсess и скриптов. Работу сайта он не нарушит.

> Кстати, далеко не все хостинги поддерживают
> mode_rewrite - и это еще один аргумент в мою пользу.

Бесплатные хостинги я не рассматриваю.

> На KpNemo.ru то точно используется ErrorDocument

Ссылку.

Остальную часть вопросов проигнорировал? А ведь все вопросы - следствие того, что незачем использовать ErrorDocument для того, для чего он не предназначен.


 
Piter ©   (2005-12-18 18:53) [45]

А, ты имеешь в виду, что Delphimaster не устанавливает код ошибки 404... Тогда извиняюсь, не так понял, тут претензий нет. Действительно, так очень нехорошо.


 
Kerk ©   (2005-12-18 18:54) [46]

Piter ©   (18.12.05 18:50) [43]
Не хочу вас огорчать, но именитейшие сайты в интернете почему-то придерживаются другой точки зрения, видимо ничего не понимают в WEB-мастеринге - напиши им письмо:


Ты думать не пробовал? Не понимаешь, чем отличается код 404 от 200?

> не понял, а ты сейчас в споре не пытаешься доказать,
> что ты прав? Причем, уже несешь явный бред, говоря про
> http://delphimaster.ru/asdasdasdasd и я тебе
> объективно показываю, НА ПРИМЕРЕ, что популярнейшие
> сайты в интернете считают не так, как ты.

Обрати внимание на урл после перехода по этой ссылке и не неси чепухи больше. Если я сделал опечатку в урле, надо мне дать возможность эту опечатку исправить, а не редиректить хз куда, заставляю набирать урл полностью заново.


 
Kerk ©   (2005-12-18 18:59) [47]

Могу ли я помочь роботу быстрее индексировать мой сайт?

Чтобы ускорить появление остальных страниц сайта в индексе, нужно, во-первых, исключить из индексации ненужную информацию, во-вторых, сообщать роботу о новых страницах:

....
   * выдавать корректные заголовки ответа сервера (например, если страница не существует, выдавать ошибку 404, а если поступил запрос «If-Modified-Since», то выдавать код 304, если страница с указанной в запросе даты не изменилась);


http://webmaster.yandex.ru/faq.xml?id=502475#howtohelp


 
Piter ©   (2005-12-18 19:05) [48]

Kerk ©   (18.12.05 18:52) [44]
Главное - не лезть внутрь .htacсess и скриптов


Ну конечно. Элементарный пример.

Есть каталог:

site.ru/download/

Который обрабатывается правилом mode_rewrite.
Сами файлы лежат в другом месте (чтобы делать перенаправление, а не отдавать файл скриптом).

И тут человек помещает ФИЗИЧЕСКИ файл в каталог:

site.ru/download/file_test.zip

Вводит в строке браузера URL: httр://site.ru/download/file_test.zip

А ему пишут не найдено! "Как это не найдено?" - думает наш пользователь! Вот ведь файл, вот он - лежит на сервере. А браузер пишет не найдено!

Kerk ©   (18.12.05 18:52) [44]
Бесплатные хостинги я не рассматриваю


и на платных mode_rewrite не везде включен.
В любом случае - зачем использовать Mode_rewrite, если можно БЕЗ него?

Kerk ©   (18.12.05 18:52) [44]
Ссылку.


вот движок его сайта - http://rapidshare.de/files/2517866/cobreeder_2005.rar.html

А теперь ТЫ дай ссылку, по которому можно установить, что на перечисленных тобой сайтах используется именно mode_rewrite?

Kerk ©   (18.12.05 18:52) [44]
Остальную часть вопросов проигнорировал?


какие именно вопросы?


 
Kerk ©   (2005-12-18 19:06) [49]

Ну так ты скажи, как ты будешь сообщать пользователю о несуществующих страницах, если на 404 стоит редирект на скрипт.


 
Piter ©   (2005-12-18 19:06) [50]

Kerk ©   (18.12.05 18:59) [47]
* выдавать корректные заголовки ответа сервера (например, если страница не существует, выдавать ошибку 404, а если поступил запрос «If-Modified-Since», то выдавать код 304, если страница с указанной в запросе даты не изменилась);


я уже написал пост [45], даже до твоего [46]


 
Kerk ©   (2005-12-18 19:07) [51]

Piter ©   (18.12.05 19:05) [48]
А ему пишут не найдено! "Как это не найдено?" - думает наш пользователь! Вот ведь файл, вот он - лежит на сервере. А браузер пишет не найдено!


Работу сайта он не нарушил. Это главное.


 
Piter ©   (2005-12-18 19:19) [52]

Kerk ©   (18.12.05 19:06) [49]
Ну так ты скажи, как ты будешь сообщать пользователю о несуществующих страницах, если на 404 стоит редирект на скрипт


Очень просто буду сообщать:

header("HTTP/1.0 404 Not Found");

никакого зацикливания не будет, .htaccess не сработает для PHP-скрипта.

Вот ты, видимо, был уверен в обратном. Почему? Опять кто-то свыше нашептал? Или хоть бы проверить мог.

Kerk ©   (18.12.05 19:07) [51]
Работу сайта он не нарушил. Это главное


здорово :)

В моем примере нарушил, а в твоем уже нет?

У меня стал выдавать не тот About, у тебя стал выдавать не тот файл.

И чем же это так принципиально отличается, что про меня ты говоришь "Нарушил работу сайта", а про себя "не нарушил".


 
Kerk ©   (2005-12-18 19:36) [53]

Piter ©   (18.12.05 19:19) [52]
В моем примере нарушил, а в твоем уже нет?


Да. В твоем примере сайт стал работать по-другому (по site.ru/about выдается не то, что было задумано разработчиками), в моем примере сайт как работал так и продолжает работать - изменений никто не заметит.


 
Kerk ©   (2005-12-18 19:39) [54]

Piter ©   (18.12.05 19:19) [52]
.htaccess не сработает для PHP-скрипта.


Не только .htaccess, но и весь апач пропустит такое. В логе ошибок упоминание о 404 не появится.


 
Kerk ©   (2005-12-18 19:47) [55]

Piter ©   (18.12.05 19:05) [48]
и на платных mode_rewrite не везде включен.


Плохие хостинги мы не рассматриваем. У меня, например, всек нужное есть, а то, что не хватает - доустановят.

> В любом случае - зачем использовать Mode_rewrite, если
> можно БЕЗ него?

Зачем вместо mod_rewrite чего-то глючное мутить, когда mod_rewrite именно для таких вещей и предназначен? И сервер он мало грузит, не надо гнать.


 
Piter ©   (2005-12-18 21:32) [56]

Kerk ©   (18.12.05 19:36) [53]
Да. В твоем примере сайт стал работать по-другому


и в твоем примере сайт стал работать по другому.

Kerk ©   (18.12.05 19:36) [53]
по site.ru/about выдается не то, что было задумано разработчиками


по site.ru/test_file.zip выдается не то, что было задумано

Kerk ©   (18.12.05 19:39) [54]
Не только .htaccess, но и весь апач пропустит такое. В логе ошибок упоминание о 404 не появится.


е-моем. А ПРИ ТВОЕМ mode_rewrite ОШИБКА 404 в ЛОГЕ ПОЯВИТСЯ? Каким образом?

mode_rewrite разве не перенаправит?

Kerk ©   (18.12.05 19:47) [55]
Плохие хостинги мы не рассматриваем


да, да. Рассмотрим сферического коня в вакууме - почему бы и нет?

Kerk ©   (18.12.05 19:47) [55]
и сервер он мало грузит, не надо гнать.


ЕЩЕ РАЗ - откуда инфа? Тебе просто так хочется думать или что?

Откуда у меня инфа - Я СКАЗАЛ.


 
Kerk ©   (2005-12-18 21:48) [57]

Piter ©   (18.12.05 21:32) [56]
Откуда у меня инфа - Я СКАЗАЛ.


Т.е. оно так, потому что тебе так сказал kpnemo? LOL
Давай сюда результаты экспериментов, доказывающие, что mod_rewrite грузит сервер заметно больше, чем ErrorDocument. Пока этого не будет, воспринимать твой гон серьезно не собираюсь.

Остальное даже не комментирую. Надоел ты уже своей ходьбой по кругу. Думать пробуй.

То, что ты дал ссылку на kpnemo ни о чем не говорит. Я тебе давал ссылку на ветку с десятком человек, использующих mod_rewrite. А если весь форум взять, то счет уже минимум на сотни пойдет.

И sport-express.ru использует mod_rewrite и другие. Именно потому, что mod_rewrite для таких целей и ПРЕДНАЗНАЧЕН.


 
Piter ©   (2005-12-18 22:00) [58]

Kerk ©   (18.12.05 21:48) [57]
Т.е. оно так, потому что тебе так сказал kpnemo? LOL


Т.е., ты хочешь сказать, что ты прав, потому что тебе так никто не говорил? LOOOOOL.

Kerk ©   (18.12.05 21:48) [57]
Давай сюда результаты экспериментов, доказывающие, что mod_rewrite грузит сервер заметно больше, чем ErrorDocument.


соответственно, давай сюда результаты экспериментов, доказывающие, что mod_rewrite грузит сервер также или меньше, чем ErrorDocument.

Kerk ©   (18.12.05 21:48) [57]
Пока этого не будет, воспринимать твой гон серьезно не собираюсь.


согласен. Я твою ложь тоже воспринимать не хочу.

Kerk ©   (18.12.05 21:48) [57]
Думать пробуй


в спорах с тобой думать не надо. Надо только упражняться элеганстве взаимных подколок.

Kerk ©   (18.12.05 21:48) [57]
Я тебе давал ссылку на ветку с десятком человек, использующих mod_rewrite


принципиальная разница - они используют mod_rewrite и довольны. KpNemo же использовал по началу mod_rewrite, а потом ПЕРЕШЕЛ на ErrorDocument, причем это было протестировано на ресурсе с посещаемостью в десятки тысяч человек, он МОЖЕТ сравнивать.

Kerk ©   (18.12.05 21:48) [57]
И sport-express.ru использует mod_rewrite и другие


И sport-express.ru использует ErrorDocument и другие

Kerk ©   (18.12.05 21:48) [57]
Именно потому, что mod_rewrite для таких целей и ПРЕДНАЗНАЧЕН


именно потому, что ErrorDocument эффективнее.

Все, дальше я в дискуссии участие принимать не буду, от ветки отписываюсь. Автор топика думаю и так узнал, что хотел :)

Спорить с тобой бесполезно, ты и дальше будешь искать соринки у меня, не видя здоровенные полена в глазу у себя.
Опять же обвиняешь, что я не отвечают на все вопросы, а сам как будто на все :)

Например:

Piter ©   (18.12.05 21:32) [56]
е-моем. А ПРИ ТВОЕМ mode_rewrite ОШИБКА 404 в ЛОГЕ ПОЯВИТСЯ? Каким образом?


опять же, ты нашел в моем способе "недостаток", даже не подумав, что в твоем способе он также присутствует.
Когда я тебе указал на это - вежливо пропустил мой вопрос :)

Вот и получается, твоя цель - к чему-нибудь прикопаться, неважно к чему. Впопыхах даже забываешь, что такую ж прикопку и четко к тебе можно сделать :)

Вообщем, не вижу никакого смысла продолжать. Упертости дофига, аргументов мало.

Засим у меня все :)


 
Kerk ©   (2005-12-18 22:09) [59]

Piter ©   (18.12.05 22:00) [58]
е-моем. А ПРИ ТВОЕМ mode_rewrite ОШИБКА 404 в ЛОГЕ ПОЯВИТСЯ? Каким образом?


Таким образом, что mod_rewrite не будет редиректить что попало, а только то, что соответствует регэкспу.

> соответственно, давай сюда результаты экспериментов,
> доказывающие, что mod_rewrite грузит сервер также или
> меньше, чем ErrorDocument.

Ты утверждаешь, что есть разница - ты и доказывай ее существование. Таков уж закон логики. Доказывают существование, а не отсутствие.

Тебя можно понять, ты человек от индустрии далекий, а высказаться хочется.


 
Kerk ©   (2005-12-18 22:17) [60]

Да очень просто. Делаем ab -n 10000 -c 10 http://localhost/script.php. Смотрим результат - 120.5 секунд. Включаем mod_rewrite. Делаем то же самое - результат - 120.5 секунд. Делаем вывод - влияет ли mod_rewrite на производительность.

http://forum.searchengines.ru/showthread.php?t=31433



Страницы: 1 2 вся ветка

Форум: "Потрепаться";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.68 MB
Время: 0.022 c
14-1134935788
QwertyKz
2005-12-18 22:56
2006.01.15
C# и дизайнер форм


2-1135509190
SergProger
2005-12-25 14:13
2006.01.15
Копирование файлов с сервера


11-1116939309
TKV
2005-05-24 16:55
2006.01.15
Смена курсора ввода текста в Memo


14-1135315894
begin...end
2005-12-23 08:31
2006.01.15
С Днём рождения! 23 декабря


1-1134130477
Антон1209
2005-12-09 15:14
2006.01.15
Скажите как правильнее написать процедуру добавления значения к м





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский