mod_rewrite и content negotiation

Ситуация (из шедевров арабских программистов): есть файлы login., logout.php, somethinglese.php и в том же духе.

Есть такие правила :

[-]
View Code Apache configuration
RewriteEngine On
RewriteRule ^login$ login.php
RewriteRule ^logout$ logout.php
RewriteRule ^top-questions$ top.php?what=questions
# и так далее

При этом правила, для которых существует файл, имя которого без учёта расширения совпадает с запросом, не выполняются.
Например, запросы http://example.com/login, http://example.com/logout возвращают 404 ошибку, а http://example.com/top-questions отрабатывает на ура.

Налицо некая избирательность mod_rewrite. В чём же дело? Далее »

Автор: , опубликовано в: Администрирование, комментариев: 7
25
Фев
2011

Заголовки HTTP для обеспечения безопасности сайта

сайта — это бесконечная битва между веб-мастерами и хакерами. В </xssed> зарегистрировано около 40,000 сайтов, подверженных атакам . -атаки позволяют злоумышленникам красть cookie, личную информацию, взламывать аккаунты и многие другие вещи.

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

В данной статье будет показан один из вариантов защиты — основанный на использовании заголовков HTTP. Далее »

Автор: , опубликовано в: Безопасность, комментариев: 2
3
Янв
2011

FogBugz 7 и nginx

На днях переводил один сервер с 2 на , хочу поделиться рабочей конфигурацией  для  7. Далее »

Автор: , опубликовано в: nginx, Администрирование, комментариев: нет
25
Апр
2010

WP Super Cache vs MaxSite Cache: часть 1

После того, как MAX’у не понравился тест с участием MaxSite Cache, я решил несколько видоизменить методику тестирования.

На этот раз я тестировал только два кэша: и Lite. Далее »

Автор: , опубликовано в: WordPress, комментариев: 9
14
Ноя
2009

Обновление PHP до 5.2.x в CentOS 5

На сервере с  5.1 столкнулся с такой проблемой: при открытии -страниц с завидным постоянством писал в лог следующие ошибки:

[-]
View Code Text
*** glibc detected *** /usr/sbin/httpd: corrupted double-linked list: 0x09a939f8 ***

К сожалению, поиск в Google практических результатов не дал: могла случаться на любом железе и любой версии . Больше всего жаловались (не)счастливые обладатели Zend Optimizer.

Обновил CentOS до 5.2 (в обновлении пришёл новый libc), но это не помогло. Странно, я видел много серверов, работающих на CentOS без таких ошибок.

Пытаясь найти минимальную конфигурацию, на которой бы воспроизводились ошибки, я отключал один за одним модули Apache, модули PHP, но всё тщетно. Когда же я отключил mod_php, ошибка пропала — на статических страницах всё было прекрасно. Далее »

Автор: , опубликовано в: Linux, Администрирование, комментариев: 17
21
Дек
2008

WordPress: заменяем Apache nginx’ом

Update: статья писалась давным-давно, правильная конфигурация для работы с описана здесь.

Собственно, возникла идея: как заставить WordPress работать под другим web-сервером? Для начала я решил поэкспериментировать с nginx, если будет время — попробую и другие web-сервера. Далее »

Автор: , опубликовано в: nginx, WordPress, Администрирование, комментариев: 6
25
Ноя
2008

Apache: устанавливаем редирект с www.domain.com на domain.com и наоборот

Заезженная до дыр тема, обсуждаемая на всех форумах про и , но, тем не менее, не потерявшая своей актуальности до сих пор. Далее »

Автор: , опубликовано в: Администрирование, комментариев: 29
21
Окт
2008

Настройка общих поддоменов (wildcard subdomains) в Apache

За последнюю неделю мне уже несколько раз приходилось рассказывать, как настраивать общие поддомены (известные как wildcard subdomains) в и /MaraDNS, поэтому решил написать статью, к которой можно будет отсылать интересующихся :-)

Общие поддомены используются в силу множества причин: создание многопользовательских инсталляций блогов/форумов, где каждый пользователь получает домен вида username.domain.tld (в качестве примера можно привести известный  µ), использование одной CMS для управления всеми поддоменами и т.п.

Для серверов на базе Apache процесс настройки общих поддоменов проходит в два этапа. Далее »

Автор: , опубликовано в: Администрирование, комментариев: 37
20
Апр
2008