Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

28.04.2005, 18:08
|
|
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,149
Провел на форуме: 941818
Репутация:
569
|
|
PHP vs mod_rewrite
Всем здарова. Сразу просьба, все описанное ниже пока только для античата, не распространяйте пожалуйсто. На эту тему напишу статью грамотную, но позже. А пока только введение.
ЧПУ. Что такое ЧПУ? ЧПУ это Человечески Понятный Урл. Например http://forum.antichat.ru/showthread.php?p=35414 обычный урл, а http://antichat.ru/2005/04/08/.htm - ЧПУ. Это сейчас появилось такое название ЧПУ. Раньше, когда небыло всяких там php, это был обычный урл. Вообще наблюдается странная тенденция =) Сначала все писали на html и иметь в адрес типа blablabla.ru/?page=news было модным. Теперь все пишут на php и модным иметь адрес типа blablabla.ru/news.html =) Реализовать это можно как минимум 2-мя способами. Через mod_rewrite или серверный язык. В нашем случае серверным языком является php.
Начнем. Сначало подумаем. Чисто теоритически, что быстрее будет работать? Реализация ЧПУ через .htaccess по средствам mod_rewrite или же средстами php, обрабатывая 404 ошибку. Чисто теоритически кажется, что mod_rewrite работает на более нихзком уровне и обрабатывает строку быстрее. Фиг там =) наглая лож. Начем с того, что mod_rewrite не работает на более низком уровне к серверу. Он работает на том же самом уровне, что и php. Потому что php это такой же модуль апача, что и mod_rewrite =) mod_php только называется =))) Мало того, идем дальше. При запросе http://antichat.ru/2005/04/08/.htm апач будет искать .htaccess во всех каталогах в представленном урле (а тут их 4, если глаза меня не обманывают) найдет ваш htaccess, спарсит его и только потом начнет выполнять правила. Мало того, на php все намного гибче, чем на mod_rewrite. Так что не верьте тому, кто будет рвать волосы на голове и утверждать что .htaccess быстрее обрабатывает ЧПУ =)
К пример еще отмечу что на nnm.ru нагрузка на CPU упала ровно в 2 раза (-100%) после переноса htaccess`а в конфиг виртуальника. И это, замечу, пока без перевода ЧПУ на плечи php. там еще 10-30% экономии, думаю, будет.
Пока все =)
|
|
|

28.04.2005, 19:33
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
>Сразу просьба, все описанное ниже пока только для античата,
> не распространяйте пожалуйсто.
так это все известно давно =О
|
|
|

28.04.2005, 20:05
|
|
Познающий
Регистрация: 16.04.2005
Сообщений: 62
Провел на форуме: 53206
Репутация:
5
|
|
что значит: "после переноса htaccess`а в конфиг виртуальника" ?
В смысле в httpd.conf?
|
|
|

28.04.2005, 20:15
|
|
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,149
Провел на форуме: 941818
Репутация:
569
|
|
Сообщение от nerezus
так это все известно давно =О
Ну уж звиняйте тогда, лично дляменя это было новым. Дело даже не в подходе, а в выводе. Когда сервер стал падать от поситителе nnm.ru встал вопрос оптимизации. Я знал что это даст выгоды ну 10-20%, но не 100% же.
Сообщение от BNF
что значит: "после переноса htaccess`а в конфиг виртуальника" ?
В смысле в httpd.conf?
угу
|
|
|

01.05.2005, 15:53
|
|
Новичок
Регистрация: 20.04.2005
Сообщений: 9
Провел на форуме: 16469
Репутация:
0
|
|
Сообщение от Trinux
Ну уж звиняйте тогда, лично дляменя это было новым. Дело даже не в подходе, а в выводе. Когда сервер стал падать от поситителе nnm.ru встал вопрос оптимизации. Я знал что это даст выгоды ну 10-20%, но не 100% же.
угу
Расскажи по подробней, о обработке ошибки отсутствия документа!!!
Как это все реализовать?
|
|
|

01.05.2005, 17:22
|
|
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,149
Провел на форуме: 941818
Репутация:
569
|
|
Сообщение от wsr
Расскажи по подробней, о обработке ошибки отсутствия документа!!!
Как это все реализовать?
Все просто. Т.е. в htaccess пишешь что-то типа
ErrorDocument 404 /index.php
т.е. при ошибке будет редирект на index.php а там ты уже обрабатываешь серверную переменную SCRIPT_URI или SCRIPT_URL, смотря как там сервер настроен. И все.
НО! Переведя полностью nnm на ЧПУ с помощью php я понял что это не правильно. Ибо при смене заголовка на 404 (а он меняется апачем по любому, при испольхования данного метода) отчищается весь POST, а это плохо. Я юзаю <form method=post> говорите что угодно, но это самый безопасный метод передачи данных, у меня куча фактов, но сейчас не о этом. Я пришел к выводу что топ нужно было назвать на PHP vs mod_rewrite а PHP and mod_rewrite. Все ЧПУ формируется на PHP, но .htccess должен содержать следующий текст
ErrorDocument 404 /404.html
DirectoryIndex index.php
RewriteEngine on
RewriteRule ^/.*(.html|/)$ /index.php
В данном случае как раз, как можете заметить, все данные будут помещены в переменную SCRIPT_URI без передачи ее в строке. Для меня это идеально, ибо чем меньше передачи данных - тем меньше нагрузка на сервер, а для меня это критично. Либо htaccess может содержать что-то типа
ErrorDocument 404 /404.php
DirectoryIndex index.php
RewriteEngine on
RewriteCond %{THE_REQUEST} !\.css
RewriteCond %{THE_REQUEST} !\.jpg
RewriteCond %{THE_REQUEST} !\.gif
RewriteCond %{THE_REQUEST} !\.png
RewriteCond %{THE_REQUEST} !\?
RewriteRule ^/.*$ index.php?url_data=%{THE_REQUEST}
Но это все уже зависит от случая, когда что. Лично мне больше подходит первый способ. Скоро напишу статью, скоро.
|
|
|

10.05.2005, 15:50
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
упала ровно в 2 раза (-100%)
-50%
Action throw /index.php
<FilesMatch "^([^.]+)$">
ForceType throw
</FilesMatch>
<FilesMatch index.php>
ForceType application/x-httpd-php
</FilesMatch>
а если так? типа 404, но post не теряется
|
|
|

11.05.2005, 04:03
|
|
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,149
Провел на форуме: 941818
Репутация:
569
|
|
Сообщение от nerezus
-50% 
Хо хо ))) будемспорить? =) Нагрузка была почти 200 процентов, стала 90. 200 - 50 = 90 ? =)))
Сообщение от nerezus
а если так? типа 404, но post не теряется
ХЗ не пробовал.
|
|
|

11.05.2005, 06:30
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
>Хо хо ))) будемспорить? =) Нагрузка была почти 200 процентов, стала 90. 200 - 50 = 90 ? =)))
а почему это было 200? целое - сто процентов =)
|
|
|

11.05.2005, 10:44
|
|
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,149
Провел на форуме: 941818
Репутация:
569
|
|
Сообщение от nerezus
>Хо хо ))) будемспорить? =) Нагрузка была почти 200 процентов, стала 90. 200 - 50 = 90 ? =)))
а почему это было 200? целое - сто процентов =)
Проца то 2 =)))
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|