Ошибка: Failed to parse the Currency Converter XML document.
$30 689.39


Ошибка: Failed to parse the Currency Converter XML document.
$14 529.80


Ошибка: Failed to parse the Currency Converter XML document.
$1 900.87


Для чего служит .htaccess?

Это файл гибкой настройки веб-сервера Апач. «Гибкий» обозначает, что как только вы поменяли что-то в этом файле, изменения тут же вступают в силу. С помощью
него можно переопределить многие директивы из файла httpd.conf (этот файл является главным конфигурационным файлом сервера Апач и его действия
распространяются полностью на всех пользователей данной копии Апача). В случаях, когда у вас нет доступа в файлу настройки Апача (тот же виртуальный
хостинг), вам поможет именно этот файл.

Этот файл не доступен веб-пользователю из браузера. Если файл .htaccess расположен в корневой директории сервера, то его действия распространяется на весь

сервер, кроме тех папок, где находится другой файл .htaccess (и кроме всех папок «ниже» этой папки со вторым .htaccess).

Пример:
Структура ваших директорий на сервере такая:

|-user
| |
| -user1
| |
| -user2
|
|-data
| |
| -data1
| |
| -data2
|

Директории user1 и user2 будут вложенными по отношению к директории user. Если мы поместим в директорию www файл .htaccess, то его действие будет
автоматически распространяться и на директории user1 и user2.


В директорию data помещаем другой файл .htaccess, по-сравнению, с тем, что находится в директории user. И для директорий data1 и data2 будет действовать файл
.htacсess, находящийся в data.

Теперь, в директорию user2 мы помещаем еще один файл .htaccess, который отличен от того, что находится в директории 2мя уровнями выше (это директория user). В
итоге, настройки для директории user2 будут определяться только тем файлом .htaccess, который находится в этой директории.

Так как чаще всего Апач настроен так, что всегда ищет этот файл в директории, то .htaccess поможет вам быстро и без останова сервера произвести его
перенастройку.

--------------------------------------------------------------------------------

Синтаксис .htaccess

Вот обязательной синтаксис, несоблюдение которого приводит к ошибкам сервера:
- пути к файлам (директориям) указываются от корня сервера. Пример: /opt/home/www.astanafoto.com/htdocs/config/.htpasswords
- домены с указанием протокола
Пример: redirect / http://www.site.ru

Файл имеет название именно «точка» htaccess
Должен быть записан в unix-формате. Для оболочки far, достигается f4 (редактирование файла), shift+f2 (выбрать «сохранить как unix-текст»).

--------------------------------------------------------------------------------

Как запретить веб-посетителям читать файлы в директории?

Запрет на все файлы:
deny from all
Где all обозначает «все».

--------------------------------------------------------------------------------

Разрешить доступ с определенного ip:
order allow deny
deny from all
allow from

В данном случае, обозначает конкретный адрес.

Например:
order allow deny
deny from all
allow from 192.126.12.199

--------------------------------------------------------------------------------

Запретить доступ с определенного ip:
order allow deny
deny from all
deny from

Использование аналогично для примера выше.

--------------------------------------------------------------------------------

Запрет на группу файлов по маске:

order allow,deny
deny from all

Определяет доступ к файлу по его расширению.

Например запрет на доступ к файлам с расширениям «inc» для веб-посетителей:

order allow,deny
deny from all

В данном примере сам веб-сервер Апач может обращаться к файлам с таким расширениям.

--------------------------------------------------------------------------------

Запрет на конкретный файл:
Можно поставить запрет на конкретный файл по его названию и расширению.

order allow,deny
deny from all

В данном примере стоит запрет на обращения к файлу config.inc.php.

--------------------------------------------------------------------------------

Пароль на директорию:
authname «private zone»
authtype basic
authuserfile /pub/home/твой_логин/.htpasswd
require valid-user

Значение authname будет выводиться для посетителя и может использоваться для пояснения запроса авторизации. Значение authuserfile указывает на место, где
хранится файл с паролями для доступа к данной директории. Этот файл создается специальной утилитой htpasswd.exe.

Например в директории, которую защищаем паролем создаем такой .htaccess:
authname « for registered users only»
authtype basic
authuserfile /pub/site.ru/.htpasswd
require valid-user

В этом примере, посетитель при запросе директории, будет читать фразу « for registered users only», файл с паролями для доступа должен лежать в директории
/pub/site.ru/ и называться .htapasswd . Директория указывается от корня сервера, если вы неправильно зададите директорию, то Апач не сможет прочитать файл
.htpasswd и никто не получит доступа к данной директории.

--------------------------------------------------------------------------------

Пароль только на 1 файл:
Аналогично паролированию директории полностью, можно ставить пароль только на 1 файл.

Пример установки пароля на файл private.zip:

authname «users zone»
authtype basic
authuserfile /pub/home/твой_логин/.htpasswd

--------------------------------------------------------------------------------

Пароль на группу файлов:
Аналогично, используя , можно ставить пароли по маске файлов.

Пример установки пароля на доступ ко всем файла с расширением «sql»:

authname «users zone»
authtype basic
authuserfile /pub/home/твой_логин/.htpasswd

--------------------------------------------------------------------------------

Проверка прав доступа

Задача: есть каталог a1 и в нем два вложенных каталога a2, a3, введено 2 уровня пользователей. 1 группа имеет доступ только к a1 и a2, 2-я ко всем трем каталогам.

Необходимо проводить аутентификацию только 1 раз — при доступе к a1, но при этом соблюдать права на доступ к а2 и а3.

Ник и пароль запрашиваются только при входе на а1 - если у юзвера есть доступ на а2 пароль уже не запрашивается. Если на а3 доступа нет, вылетит табличка
«введите пароль».

www.site.ru/a1
www.site.ru/a1/а2
www.site.ru/a1/a3
a1 - общий и вместе с тем закрытый. а2 и а3 только для отдельных личностей.

--------------------------------------------------------------------------------

файл .htaccess для каталога а1:
authname « input password»
authtype basic
authuserfile «/pub/home/login/htdocs/clousearea/.htpasswd»

require valid-user

файл .htaccess для каталога а2:
authname « input password»
authtype basic
authuserfile «/pub/home/login/htdocs/clousearea/.htpasswd»

require user юзвер1 юзвер2 юзвер3

файл .htaccess для каталога а3:
authname « input password»
authtype basic
authuserfile «/pub/home/абв/htdocs/clousearea/.htpasswd»

require user юзвер1 юзвер4 юзвер5

--------------------------------------------------------------------------------

Как сделать перенаправление (редирект) посетителя?

Редирект на другой url:
Что бы сделать перенаправления посетителя на сайт http://site.ru в .htaccess redirect / http://www.site.ru

--------------------------------------------------------------------------------

Показ разных страниц, в зависимости от ip адреса посетителя:
setenv if remote_addr redir=«redir»
rewritecond %{redir} redir
rewriterule ^/$ /another_page.html

Например, перенаправление посетителей с ip адресом 192.12.131.1 на страницу about_my_sity.html:
setenv if remote_addr 192.12.131.1 redir=«redir»
rewritecond %{redir} redir
rewriterule ^/$ /about_my_sity.html

--------------------------------------------------------------------------------

Перенаправление посетителя при запросе определенных страниц:
Это уже для всех сетевых вирусов и сканеров. Теперь любой запрос с адресом /_vti_bin будет автоматически перенаправляться на microsoft:

redirect /_vti_bin http://www.microsoft.com
redirect / scripts http://www.microsoft.com
redirect /msadc http://www.microsoft.com
redirect /c http://www.microsoft.com
redirect /d http://www.microsoft.com
redirect /_mem_bin http://www.microsoft.com
redirect /msadc http://www.microsoft.com
redirectmatch (.*)\cmd.exe$ http://www.microsoft.com

--------------------------------------------------------------------------------

Как сделать стартовой другую страницу?

Что бы поменять страницу, которая будет показываться при обращении к директории, пишем:
directoryindex

Можно указывать несколько страниц.

directoryindex index.shtml index.php index.php3 index.html index.htm

--------------------------------------------------------------------------------

Как заставить Апач обрабатывать ssi директивы?

ssi позволяют «собирать» страницу из кусочков. В одном кусочке у вас код меню, в другом код верхней части страницы, в третьем — нижней. А посетитель видет
обычную страницу, которая состоит из того кода, который входит в ваши кусочки.

Необходимы обязательные установки в httpd.conf:
В блоке, начинающемся с и заканчивающийся в строку options indexes добавьте includes.

После, в файле .htaccess пишем:

addhandler server-parsed .shtml .shtm .html .htm

--------------------------------------------------------------------------------

Как заставить Апач выполнять в html документах php код?

Иногда бывает полезно «обмануть» посетителя, выдавая ему свои php-скрипты или иные файлы, как html файлы. Реально используется для индексации поисковой
системой rambler php-скриптов. Некоторые делаю мелкие фишки, вроде того, что дают фалам расширения совпадающие с какими-либо «знаковыми» именами.

Например, на сайте www.osg.ru используются файлы с расширением osg: index.osg, script.osg и т.п.

removehandler .html .htm
addtype application/x-httpd-php .php .htm .html .phtml

При большой посещаемости сервера может вызвать тормоза. Спрашивайте у админа.

--------------------------------------------------------------------------------

Как самому обрабатывать ошибки Апача?

Наиболее интересные и полезные ошибки Апача это: 403-404, 500.
403 - пользователь не прошел аутентификацию, запрет на доступ (forbided).
404 - запрашиваемый документ (файл, директория) не найден.
500 - внутренняя ошибка сервера (к примеру, ошибка в синтаксисе файла .htaccess).

Для того, что бы пользователю при этих ошибках были показаны ваши собственные сообщения об ошибках, в .htaccess пишем:

errordocument 403 /errors/403.html
errordocument 404 /errors/404.html
errordocument 500 /errors/500.html

При этом при возникновении 404 ошибки пользователю загрузится файл errors/403.html.

--------------------------------------------------------------------------------

Удобно делать собственный обработчик на некоторые ошибки. В .htaccess пишем:
errordocument 403 /errors/error.php?403
errordocument 404 /errors/error.php?404
errordocument 500 /errors/error.php?500

В error.php через $http_server_vars[«request_uri»] определяем какой документ вызвал ошибку и дальше обрабатываем. Если в .htaccess на errordocument стоит
указание файла с полным путем (http://site.ru/error.php), то $http_server_vars[«request_uri»] будет содержать этот файл, а не вызвавший ошибку.

В internet explorer 5.0 неправильно обрабатывается файл, вызывающийся при ошибке, если его размер меньше 1 килобайта. Будет вызвана стандартная страница ie
404.

--------------------------------------------------------------------------------

Как поставить запрет на отображение содержимого директории при отсутствии индексного файла?

Предположим, что у вас вся графика, используемая на сайте находится в директории img. Посетитель может набрать в адресной строке браузера эту директорию и
увидеть список всех ваших графических файлов. Конечно, это не нанесет вам урона, но можно и не дать такого просмотра посетителю. В .htaccess пишем:

options -indexes

--------------------------------------------------------------------------------

Можно ли указать кодировку на все файлы, в которой по умолчанию получает документы браузер?

На заре интернета и зарождения браузеров, часто была ситуация, что браузер не мог автоматически определить, в какой из русских кодировок написан документ и в
браузер выдавалась какая-то каша. Для избежания этого указываем, что все отдаваемые страницы будут иметь кодировку windows — 1251:

adddefaultcharset windows — 1251

--------------------------------------------------------------------------------

Можно ли указать кодировку на загружаемые файлы?

При загрузке посетителем файла на сервер, возможна перекодировка его — указываем, что все получаемые файлы будут иметь кодировку windows — 1251:

charsetsourceenc windows — 1251

Создал файл .htaccess, но сервер выдает 500 ошибку — internal erorr

Ошибка синтаксиса или файл записан не в том формате.

 

Интересное

12 языков...
Существует около 8 500 языков программирования (не удивляйтесь, данные не преувеличены), однако, несмотря на такое разнообразие, число языков, на которых пишет большинство, с трудом переваливает...
Подробнее...
Вирусы. Что это и как с...
Организация защиты компьютера примерно схожа с организацией зашиты частного дома, т.е. сперва укрепляются стены, заводится собака и возводится забор. В первую очередь при выходе пользователя в...
Подробнее...
Миф о QoS
Нет ни одного человека, который бы хоть раз не прочитал какой-нибудь FAQ по Windows XP. А раз так, то каждый знает, что есть такая вредная служба Quality of Service — сокращенно QoS. При...
Подробнее...
Вся правда о тИЦ
О эти три магические буквы!!!Как же любят на форумах обсуждать эту тему. Дрожь пробирает, когда открывают новый топик, посвященный тИЦ-у.. А пробирает от того, что тема настолько заезжена и сотни...
Подробнее...
Скрипт показа баннеров на PHP4
Скрипты показа баннеров, изложенные в этой статье довольно элементарны.Описания баннеров, количество кликов и показов хранится в текстовом файле, поэтому наличия mysql не требуется.Для начала...
Подробнее...
Внимание! Отказ в...
Описание: Уязвимость позволяет удаленному пользователю вызвать отказ в обслуживании приложения.Уязвимость существует из-за ошибки при обработке пакетов, отправленных на порт 48000 UDP/TCP....
Подробнее...
Delphi и Flash. Совмещение...
Разве возможно совместить Флэш-ролики и Дельфи-приложения. Раньше я думал что НЕТ. Но теперь я знаю не только, что это возможно, но и знаю как это делается!!! И сейчас я вам расскажу об этом....
Подробнее...
Интернет - трагедия или...
Доброго времени суток, уважаемый читатель. Я бы хотел поведать тебе, да и всем людям, мою точку зрения на влияние Интернета на людей, да и вообще, об Интернете в целом.Естественно, такую тему...
Подробнее...
«Продвинутость» в Сети....
Для начала немного статистики. Даже если вы «уже в танке», не мешает лишний раз задуматься над приведенными ниже цифрами. Итак, по данным исследовательской компании «Ромир», во втором квартале...
Подробнее...
Поиск уязвимостей в PHP...
Итак, сейчас я Вам объясню, как я ищу баги в скриптах на PHP, так делаю я сам и не кому не навязываю свой вариант...Статья это маленькая, но я считаю полезная =)1. Если вы читали мою вторую статью...
Подробнее...