mod_rewrite и content negotiation
Ситуация (из шедевров арабских программистов): есть файлы login.php, logout.php, somethinglese.php и в том же духе.
Есть такие правила mod_rewrite:
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. В чём же дело? Далее »
Автор: Wandering Soul, опубликовано в: Администрирование, комментариев: 7Фев
2011
Заголовки HTTP для обеспечения безопасности сайта
Безопасность сайта — это бесконечная битва между веб-мастерами и хакерами. В </xssed> зарегистрировано около 40,000 сайтов, подверженных атакам XSS. XSS-атаки позволяют злоумышленникам красть cookie, личную информацию, взламывать аккаунты и многие другие вещи.
Существует множество способов для защиты сайта, но ни один из них не может гарантировать абсолютную безопасность. Как следствие, нужно использовать многоуровневую эшелонную зашиту для обеспечения безопасности сайта.
В данной статье будет показан один из вариантов защиты — основанный на использовании заголовков HTTP. Далее »
Автор: Wandering Soul, опубликовано в: Безопасность, комментариев: 2Янв
2011
FogBugz 7 и nginx
На днях переводил один сервер с Apache 2 на nginx, хочу поделиться рабочей конфигурацией nginx для FogBugz 7. Далее »
Автор: Vladimir, опубликовано в: nginx, Администрирование, комментариев: нетАпр
2010
WP Super Cache vs MaxSite Cache: часть 1
После того, как MAX’у не понравился тест с участием MaxSite Cache, я решил несколько видоизменить методику тестирования.
На этот раз я тестировал только два кэша: WP Super Cache и MaxSite Cache Lite. Далее »
Автор: Vladimir, опубликовано в: WordPress, комментариев: 9Ноя
2009
Обновление PHP до 5.2.x в CentOS 5
На сервере с CentOS 5.1 столкнулся с такой проблемой: Apache при открытии PHP-страниц с завидным постоянством писал в лог следующие ошибки:
К сожалению, поиск в Google практических результатов не дал: ошибка могла случаться на любом железе и любой версии Linux. Больше всего жаловались (не)счастливые обладатели Zend Optimizer.
Обновил CentOS до 5.2 (в обновлении пришёл новый libc), но это не помогло. Странно, я видел много серверов, работающих на CentOS без таких ошибок.
Пытаясь найти минимальную конфигурацию, на которой бы воспроизводились ошибки, я отключал один за одним модули Apache, модули PHP, но всё тщетно. Когда же я отключил mod_php, ошибка пропала — на статических страницах всё было прекрасно. Далее »
Автор: Vladimir, опубликовано в: Linux, Администрирование, комментариев: 17Дек
2008
WordPress: заменяем Apache nginx’ом
Update: статья писалась давным-давно, правильная конфигурация nginx для работы с WordPress описана здесь.
Собственно, возникла идея: как заставить WordPress работать под другим web-сервером? Для начала я решил поэкспериментировать с nginx, если будет время — попробую и другие web-сервера. Далее »
Автор: Vladimir, опубликовано в: nginx, WordPress, Администрирование, комментариев: 6Ноя
2008
Apache: устанавливаем редирект с www.domain.com на domain.com и наоборот
Заезженная до дыр тема, обсуждаемая на всех форумах про Apache и mod_rewrite, но, тем не менее, не потерявшая своей актуальности до сих пор. Далее »
Автор: Vladimir, опубликовано в: Администрирование, комментариев: 29Окт
2008
Настройка общих поддоменов (wildcard subdomains) в Apache
За последнюю неделю мне уже несколько раз приходилось рассказывать, как настраивать общие поддомены (известные как wildcard subdomains) в Apache и BIND/MaraDNS, поэтому решил написать статью, к которой можно будет отсылать интересующихся
Общие поддомены используются в силу множества причин: создание многопользовательских инсталляций блогов/форумов, где каждый пользователь получает домен вида username.domain.tld (в качестве примера можно привести известный WordPress µ), использование одной CMS для управления всеми поддоменами и т.п.
Для серверов на базе Apache процесс настройки общих поддоменов проходит в два этапа. Далее »
Автор: Vladimir, опубликовано в: Администрирование, комментариев: 37Апр
2008

Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.

