Pull to refresh
  • by relevance
  • by date
  • by rating

Как проверить существование файла в htaccess?

Lumber room
Добрый день, уважаемые Хабралюди!

Возник вопрос, в котором Google мне пока что не смог помочь. Возможно ли проверить на существование файл через htaccess? :) То есть существует ли какой-нибудь нестандартный RewriteCond для такой операции? :)

Цель — проверять закеширован ли файл на сервере и если да — не перенаправлять на index.php, если нет — перенаправить и создать кеш…

Думал насчет 404 и обычного реврайта (например, при запросе /blog/bla-bla/ перенаправлять на /cache/blog/bla-bla/ без изменения урла, а в случае 404 — возвращать на index.php), только вот мне кажется, что будет незавершающийся цикл при таком варианте…
Total votes 4: ↑3 and ↓1 +2
Views 792
Comments 7

Запрет индексации сайта поисковыми ботами при помощи.htaccess

Lumber room
При активной разработке многие используют копии сайта в других доменах, для эксперементов или доработки сайтов (не на работающем же вносить изменения).
И вот многие сталкиваются с проблемой как отгородить поисковики от этого домена и притом оставить рабочую версию сайта.

Проще всего и без вмешательств в код это сделать при помощи .htaccess
Создаем файл .htaccess и пишем в нем:

SetEnvIfNoCase User-Agent "^Yandex" search_bot
SetEnvIfNoCase User-Agent "^Yahoo" search_bot
SetEnvIfNoCase User-Agent "^igdeSpyder" search_bot
SetEnvIfNoCase User-Agent "^Robot" search_bot
SetEnvIfNoCase User-Agent "^Googlebot" search_bot
SetEnvIfNoCase User-Agent "^msnbot" search_bot
SetEnvIfNoCase User-Agent "^Aport" search_bot
SetEnvIfNoCase User-Agent "^Mail" search_bot
SetEnvIfNoCase User-Agent "^bot" search_bot
SetEnvIfNoCase User-Agent "^spider" search_bot
SetEnvIfNoCase User-Agent "^php" search_bot
SetEnvIfNoCase User-Agent "^Parser" search_bot

Order Allow,Deny
Allow from all
Deny from env=search_bot


для проверки работоспособности можно использовать следующий PHP-скрипт

<?php
if(empty($_POST)) {
?>


ну вот теперь можно полностью эксперементировать и никто не узнает про существование экспериментальной копии Вашего сайта ;)
Открываем сайт представлясь под любым User-Agent
User-Agent
Total votes 30: ↑27 and ↓3 +24
Views 1.7K
Comments 23

Основы.htaccess на примерах

Website development *
Translation
В данной статье приведены реальные примеры кода, который автор использует, разрабатывая сайты для своих клиентов. Уровень — чуть выше начального. Предлагаю вашему вниманию выдержки из статьи. Возможны неточности в переводе, если поправите — буду признательна. Если кому-то поможет — буду рада.
Total votes 28: ↑17 and ↓11 +6
Views 73K
Comments 29

Пользовательские виртуальные домены

Lumber room
Если посмотреть на URL-адрес профиля пользователя habrahabr.ru, то можно увидеть, что доменом третьего уровня является его логин.
Этот подход носит название «пользовательские виртуальные домены».

Про теоретическую реализацию смотрим ниже
Total votes 32: ↑19.5 and ↓12.5 +7
Views 968
Comments 13

Ускоряем wordpress

WordPress *
Привет.
Думаю, среди читателей хабра найдется немало тех, кто имеет stand-alone blog на движке wordpress.

Так вот, для вас, дорогие мои, у меня есть две новости, как водится, плохая и хорошая.
Плохая состоит в том, что wordpress — довольно-таки тормознутая штука.
Виноваты в этом в основном криворукие производители тем и, особенно, криворукие производители плагинов. Особенно кривой плагин, на мой вкус, wp-ajax-edit-comments, который является образцом быдлокодинга.

Хорошая — в том, что это можно поправить.

Делается это примерно так:
Total votes 63: ↑52 and ↓11 +41
Views 9.6K
Comments 35

Помогите разобраться с mod_rewrite

Lumber room
Здравствуйте!
Прошу помощи в написании одного несложного правила перенаправления для mod_rewrite.

Требуется, чтобы для всех ссылок, запрашивающих любые элементы (графика, ситили, скрипты) действовало следующее правило перенаправления:
Если запрошен элемент, содержащий в адресе "../" допустим (../css/generic.css), перенаправить его на адрес: базовая_директория/view/[запрошенный_адрес] (css/generic.css).
Total votes 1: ↑0 and ↓1 -1
Views 840
Comments 1

LDAP для интернет-проекта. Часть 3

System administration *
В первой и второй части мы установили и настроили OpenLDAP, можно приступать к настройке авторизации для наших сервисов.
Сегодня у нас по плану настройка авторизации для админок в Apache HTTPD через mod_ldap и SVN.
Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Views 9.5K
Comments 4

PHP Speedy — наше все

Self Promo
PHP SpeedyЧто такое PHP Speedy? Это набор php-скриптов, которые позволяют объединять и сжимать CSS- и JS-файлы для веб-сайта, написанного на PHP. Изначально разрабатывался как приложение к Wordpress, но сейчас получил более широкое распространение.

PHP Speedy был выбран в качестве основы для начала разработки Web Optimizer — веб-приложения, автоматизирующего клиентскую оптимизацию. Предполагается, что такое приложение можно будет максимально быстро и максимально легко развернуть на любой платформе, а оно уже само позаботится о всех действиях, связанных со скоростью загрузки страницы.

Как показала практика, клиентская оптимизация интересует большой круг людей. Но очень многих останавливает то, что нужны специальные знания для освоения этой области. Web Optimizer создается как раз, чтобы убрать этот барьер (и как наш ответ Чемберлену www.getrpo.com :).
Читать дальше →
Total votes 83: ↑74 and ↓9 +65
Views 770
Comments 45

10 отличных приемов с .htaccess для WordPress

WordPress *
Внимание!
Перед изменением файла .htaccess не забудьте сделать его резервную копию.


1 — Перенаправляем WordPress RSS поток на feedburner с использованием .htaccess
Почему некоторые вебмастера не используют feedburner? Ведь это такой замечательный инструмент для контроля за подписками на RSS. Проблема в том, что приходится руками исправлять файлы шаблонов. Этот прием поможет сохранить Ваше время.
И не забудьте исправить в строке 6 на Ваш код

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]
 RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
 RewriteRule ^feed/?([_0-9a-z-]+)?/?$ httр://feeds2.feedburner.com/wordpress[R=302,NC,L]
</IfModule>


Читать дальше →
Total votes 72: ↑62 and ↓10 +52
Views 31K
Comments 29

Определение адреса страницы после RewriteRule с использованием mod_proxy

Lumber room
Столкнулся с проблемой, которую коллегиально решали почти сутки.

Вкратце: есть сайт, все страницы/шаблоны которого обрабатываются и отдаются через единый index.php, и к тому же для организации ЧПУ (friendly urls) использован htaccess с весьма немалым списком различных правил RewriteRule.

И всё бы хорошо, но вот понадобилось для решения одной задачи знать, а какой же адрес запрашивает клиент. То есть фактически php скрипт знать-не-знает что ввел пользователь в адресной строке, так как запрос он получает уже он htaccessа который и вызывает нужны скрипт.

Читать дальше →
Total votes 11: ↑5 and ↓6 -1
Views 396
Comments 15

Вы несете деньги в Банк, Банки несут деньги в Bitrix

Information Security *
Требования безопасности к сайтам финансовых компаний должны быть максимально жесткими. Мы просмотрели сайты ведущих банков России и зарубежных филиалов и обнаружили, что многие банки оставляют открытый доступ к панели администрирования Bitrix. То есть папке /bitrix/admin/
Читать дальше →
Total votes 117: ↑100 and ↓17 +83
Views 6.1K
Comments 115

Три способа решения проблемы «Fatal error: Allowed memory size of XXX bytes exhausted»

Lumber room
Когда вашему скрипту не хватает оперативной памяти для его выполнения (точнее он не укладывается в объём, который ему разрешён), возникает ошибка «Allowed memory size of XXX bytes exhausted (tried to allocate YYY bytes)».

Для решения данной задачи предлагаю три варианта на выбор в зависимости от прав доступа на сервере и его конфигурации.

Один из этих вариантов вам точно поможет.

Способ первый:


В файле настроек РНР (php.ini) пишем:

memory_limit = 100M

Обычно для простых смертных этот файл править не дают. Всё зависит от вашего хостинг-провайдера. Да и делать вам там нечего.

Способ второй:


В файле настроек сайта (.htaccess) пишем:

php_value memory_limit 100M

При определённой конфигурации сервера вы можете получить ошибку 500 – Internal Server Error.

Способ третий:


В теле вашего скрипта (например, config.php) пишем:
<?php
ini_set('memory_limit', '100M');
?>


Самый простой и безопасный ход решения проблемы. Меня выручает постоянно.
Total votes 51: ↑2 and ↓49 -47
Views 1K
Comments 49

Школьный DDoS и стоит ли его бояться

Information Security *
Современный интернет предлагает четыреста относительно честных способов зарабатывания денег. К сожалению, не все алчные до наживы персонажи ими ограничиваются. К счастью, только некоторые из них обладают достаточной квалификацией, чтобы причинить серьезный вред. Тем не менее их действия для неподготовленных людей могут оказаться достаточно разрушительными. Под катом вы найдете душещипательную историю с угрозами, шантажом, вероломным нападением и традиционным киношным хеппиэндом.
Читать дальше →
Total votes 225: ↑196 and ↓29 +167
Views 13K
Comments 121

Попытка номер раз создать почти идеальный htaccess

Website development *
Tutorial
    - Google выше ранжирует сайты, которые загружаются быстрее.
    - Если на eBay или Amazone увеличить время загрузки страниц на 9% они теряют 1% прибыли.
    - Сделать свой сайт быстрее, чтобы сэкономить на клиентском трафике и на числе обращений к серверу.


.htaccess — наш герой


Профессионалы знают, что такое htaccess.
Тем кто собираются уйти с народ.ру на php-хостинг только предстоит узнать, что это такое.
Те кто только что установил свои первые jooml'у или wordpress срочно должны узнать о нашем герое — htaccess

Зачем нам .htaccess ?


Представьте, что вы купили себе хостинг и кажется, почти обрели счастье. Но однажды (а может быть дважды, а может и трижды) ваш сайт перестает отвечать на запросы. Начинает медленно грузиться и вообще вести себя странно. А виртуальный хостинг это такая хитрая штука, что помимо вашего сайта на этом сервере находится ещё два десятка других сайтов. Все они разные по мощности, организованности и трафику. И когда ваш сосед по случайности, а может и умыслу запускает на своем хостинге сложные или избыточные в алгоритмах скрипты, это отзывается и на вас.

Или другой пример. Скажем ваш ресурс начинает набирать популярность, но переезжать на выделенный сервер ещё рано, а мощностей VPS уже не хватает. Вас очень может выручить htaccess.

А ещё htaccess может решить некоторые вопросы с безопасностью вашего сайта.

А ещё…

Полезные советы по htaccess с разжевыванием для новичков
Total votes 85: ↑70 and ↓15 +55
Views 234K
Comments 77

Полезные хаки и сниппеты для .htaccess

Website development *
Sandbox


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

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

Если же вам нужны базовые сведения о предназначении данного файла, то вы можете получить из нашей статьи введение в .htaccess (перевод данной статьи не делал, так как там основы, их достаточно в русскоязычном сегменте Сети, но если будет проявлен интерес, то можно и ее перевести для полноты картины — прим. переводчика), в которой достаточно подробно раскрыты все аспекты его применения.
Узнать больше
Total votes 114: ↑92 and ↓22 +70
Views 433K
Comments 82

Корректный переход со старого домена на новый

Website development *
Добрый день.
Хочу поделиться своим опытом по переводу сайта на новый домен с сохранением всех параметров старого.

Задача

Есть домен site.com с определенными показателями ТИЦ и PR, но мы хотим перенести проект (сайт) на новый адрес не теряя уже полученные кровью и потом результаты в поисковиках.

Решение

Сделать на старом домене site.com файл .htaccess, с содержанием:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]
RewriteRule ^([^/]+) $1 [L]

RewriteCond %{HTTP_HOST} ^site\.com
RewriteRule ^(.*)$ http://site.org/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.site\.com
RewriteRule ^(.*)$ http://site.org/$1 [R=301,L]

Читать дальше →
Total votes 96: ↑62 and ↓34 +28
Views 151K
Comments 34

Как заставить Apache работать или как я реализую создание миниатюр изображений в своих проектах

Apache *
Sandbox
Здравствуйте, хабровчане.

Занимаясь созданием различных интернет-проектов уже порядочное время, часто был просто возмущён одним фактом — не все элементы системы несут на себе равную нагрузку. Я всегда придерживался мнения, что каждый элемент системы, будь то интерпретатор того или иного языка для сайта, или база данных, или даже сам HTTP сервер, должен брать на себя максимально возможную нагрузку, дабы облегчить участь остальных элементов системы. Да и сами приложения для своих проектов всегда старался максимально разгрузить.

Сейчас же мне хотелось бы поделиться своим опытом в том, как «озадачить» Apache при создании миниатюр изображений (Thumbnails).
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Views 8.1K
Comments 19

Отлаживаем правила RewriteRule, или немного об интимной жизни mod_rewrite

Website development *PHP *
У меня RewriteEngine всегда был довольно стрессовой темой. Только вот недавно я вдруг обнаружил, что все как-то улеглось и стало более или менее понятно. Поскольку я совершенно обычный человек, я уверен, что ситуация ошибки конфигурации веб-сервера «доставала» не одного лишь меня, и я спешу поделиться своим опытом.

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

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

Читать дальше →
Total votes 27: ↑22 and ↓5 +17
Views 74K
Comments 14

#NoHacked: устранение последствий взлома с загрузкой URL, содержащих бессмысленный текст

Google Developers corporate blog Information Security *Website development *Search engines *
Translation
Привет, Хабрахабр! Сегодня в рамках кампании #nohacked мы хотели бы поговорить о том, как решить проблему с несанкционированным внедрением контента на сайт. Даже если вы не подвергались такой атаке, не пренебрегайте нашими рекомендациями – они помогут защитить ваш ресурс и от других методов взлома. Следите за обсуждением в Twitter и Google+ с помощью хештега #nohacked (см. часть 1, часть 2, часть 3, часть 4).

NoHacked: устранение последствий взлома с загрузкой URL
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Views 12K
Comments 2
1