| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Модуль mod_rewrite. Часть 1.
Вы наверняка встречали в сети термин «mod_rewrite». Для наших читателей, которые не до конца знакомы с этим модулем веб сервера Apache, а также для тех, кто вообще первый раз об этом слышит – постараюсь рассказать в этой публикации (в нескольких частях) подробнее о данном модуле. Модуль mod_rewrite является программным модулем веб сервера Apache (обратите внимание, что он не будет выполняться под другими веб серверами!). Его первичная функция - манипуляция действий с URL. Модуль очень универсален и разносторонен, поэтому я постараюсь показать здесь множество реальных примеров. Mod_rewrite является замечательным модулем, который предоставляет «основанный на правилах механизм динамического изменения запрашиваемых URL-ов». Это действительно мощный инструмент, и поэтому, его знание принципиально важно, если вы хотите стать подлинным веб мастером или веб программистом. Не столько принципиально, будете ли вы использовать его в своей работе, сколько важно то, что вы знаете, что он может делать, и сможете поведать об этом своему боссу, когда появится желание сделать что-нибудь странное с веб сервером. Однако нужно быть очень осторожным и даже дотошным при работе с этим модулем! Некоторые ошибки, которые Вы способны допустить, могут привести к логической петле, причиняя непрекращающуюся 100%-ую загрузку ценрального процессора (CPU). Чтобы не казаться пространным в рассуждениях, приведу некоторые очень простые примеры. Прежде, чем мы сможем приступить к работе, Вы должны будете проверить, установлен ли модуль на вашем веб сервере или нет. Есть несколько способов проверить это:
Также, Вы увидите такую запись в файле «error.log»: Теперь давайте копнем поглубже и посмотрим первый практический примерчик. Предположим, что Вы будете использовать mod_rewrite только для вашего собственного сайта, то есть не как обобщенную перекрестную установку сервера. Для нашего примера потребуется использование файла .htaccess. файл .htaccessДля работы этого метода, Вы должны загрузить файл под названием «.htaccess» (пожалуйста, обратите внимание на точку в начале имени файла!) в папку сервера, с которой Вы будете работать. Это можно сделать через telnet или ftp. (Предупреждение: .htaccess должен быть загружен в «режиме ASCII», то есть не в бинарном режиме!) Если у Вас уже имеется файл «.htaccess», например со следующими записями: Options Includes +ExecCGI AddType text/x-server-parsed-html .html то просто добавьте снизу наш образец кода к уже существующему (Важно: редактируйте ваш файл .htaccess в ASCII-редакторе типа Notepad). Первые две записи запустят сам модуль: RewriteEngine on Options +FollowSymlinks Совет: запись «RewriteEngine off» отменит все последующие команды. Это - очень полезная особенность: вместо необходимости комментировать все последующие строки – все, что Вы должны сделать, это установить «off». Если ваш системный администратор запрещает Вам использование «Options +FollowSymlinks», Вы не сможете ограничить использование mod_rewrite для отдельных каталогов, вместо этого изменения будут действовать на весь сервер. Следующая необходимая запись - это: RewriteBase / «/» является корневым (основным) URL. Если у Вас какой-то другой URL, Вы можете указать это в данной директиве, однако «/» – обычно эквивалентно адресу «http://домен.ру». А теперь, господа, перейдем к более интересным записям! Предположим, что вы хотите защитить от несанкционированного доступа ваш файл .htaccess. На некоторых серверах Вы можете легко читать этот файл просто вводя URL следующего формата в поле адреса вашего браузера: http://www.domain.com/.htaccess – серьезное упущение защиты, так как содержание вашего .htaccess может показать важную информацию об установках и настройках вашего сайта человеку, знающему как эти знания применить против вас. Чтобы блокировать этот доступ, запишем следующее: RewriteRule ^.htaccess$ - [F] Это правило переводится так: Если кто-то пробует обращаться к файлу .htaccess, система должна произвести код ошибки «HTTP response of 403» или «403 Forbidden - You don't have permission to access /.htaccess on this server». Конструкция ^.htaccess$ в этом регулярном выражении означает: ^ – якорь начала строки Имя файла должно быть расположено точно между начальным и конечным якорем. Это будет гарантировать то, что только это определенное имя файла и никакое другое, сгенерирует код ошибки. [F] – специальный «запрещающий» флажок (forbidden). В этом примере, файл ".htaccess" теперь будет состоять из таких строк: RewriteEngine on Options +FollowSymlinks RewriteBase / RewriteRule ^.htaccess$ - [F] Если мы добавим наш код (в примерах) к существовавшему ранее файлу «.htaccess», то получим следующую конструкцию: Options Includes +ExecCGI AddType text/x-server-parsed-html .html RewriteEngine on Options +FollowSymlinks RewriteBase / RewriteRule ^.htaccess$ - [F] Это введение затрагивает лишь основы, требуемые для того, чтобы работать с модулем mod_rewrite. Во второй части этой обучающей серии статей постараюсь объяснить использование различных условий в конфигурировании модуля. Рубрика: Apache
Подгрузка через AJAX HTML-кода, содержащег....
При разработке CMS S.Builder наша команда активно использовала AJAX. Теперь вот решили поделиться накопленным опытом. Начнем с этого хабратопика. Не буду здесь затрагивать различные фреймворки и библиотеки. Свой код всегда роднее. Для работы с AJAX-ом в S.Builder написана библиотека sbAJAX. Можете качать и пользоваться :). В этом файле есть функция sbEvalJS. Для тех, кто не знает, объясню. При подгрузке через AJAX и вставке на страницу HTML-кода, содержащего JavaScript, JavaScript выполняться не будет или полезут баги. Эта функция как раз решает поставленную задачу.
Подробнее... |
Рубрика: AJAX
| Добавлено: 19.11.2008
Обзор нового релиза самой мощной Ajax библ....
Хотя наш обзор немного запоздал, оригинальный Dojo 1.2 вышел в релизной версии ещё 6-го октября, но сейчас мы наверстаем упущенное. И так, Dojo Toolkit — это самая мощная и гибкая ajax-библиотека из всех, что есть на рынке, она активно развивается и имеет большое комьюнити. Кстати, это самое комьюнити, совместно с компанией Sitepen, имеет ещё несколько проектов, среди которых и Cometd и некоторые другие, не менее интересные, о которых мы скоро вам расскажем. Сегодня же все внимание на флагманский продукт — Dojo 1.2.
Подробнее... |
Рубрика: AJAX
| Добавлено: 19.11.2008
Firebug 1.3 и 1.4 alpha — что нового и инт....
Если вы профессиональный веб-разработчик и постоянно имеете дело с разработкой и отладкой сложных AJAX приложений, то наверняка знаете и используете Firebug — плагин для браузера Firefox, предназначенный для отладки и исследования веб-приложений. Текущая его версия, 1.2х достаточно стабильная и функциональна, чтобы помочь в 99% проблем, которые могут возникнуть при разработке. Но и этот инструмент не лишён если не недостатков, то некоторых фич, которые могли бы облегчить работу. И даже идеальный инструмент можно сделать ещё более идеальным, как бы это не звучало.
Подробнее... |
Рубрика: Вебмастеру
| Добавлено: 19.11.2008
Остальные статьи: |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|