![]() |
|
![]() |
|
Настройка сервера с помощью .htaccess Назначение и использование файла .htaccess Файл .htaccess (в начале названия файла - точка) – это файл, который дает возможность конфигурировать работу сервера в отдельных директориях (папках), не предоставляя доступа к главному конфигурационному файлу. Например, устанавливать права доступа к файлам в директории, менять названия индексных файлов, самостоятельно обрабатывать ошибки Apache, перенаправляя посетителей на специальные страницы ошибок. Файл .htaccess может быть размещен в корневом каталоге веб-сервера (прямо в каталоге public_html) и в этом случае директивы из такого .htaccess действуют по всему веб-серверу. Также .htaccess может находиться и в конкретном подкаталоге сервера и тогда директивы, которые указаны в этом файле, "перекрывают" действие директив из "основного" файла, который размещен в каталоге public_html или в любом каталоге более высокого уровня. То есть, действие директив из .htaccess наследуется сверху вниз, но не наоборот. Изменения, внесенные в файл, вступают в силу немедленно. Это связано с тем, что информация из .htaccess перечитывается при каждом обращении к веб-серверу Apache. Как известно, конфигурационные директивы сервера Apache находятся в файлe httpd.conf. Но далеко не всегда у Вас будут права доступа к этому файлу. Например, если Вы используете для хостинга виртуальный сервер, когда один сервер Apache обслуживает множество сайтов, то, естественно, Вам никто не позволит менять его конфигурацию. Но, тем не менее, вы можете конфигурировать работу сервера в своих директориях. И делать вы это можете с помощью файлов .htaccess. Файл .htaccess может быть размещен в любом каталоге. Директивы этого файла действует на все файлы в текущем каталоге и во всех его подкаталогах (если эти директивы не переопределены директивами нижележащих файлов .htaccess). Изменения, вносимые в файлы .htaccess, вступают в силу немедленно и не требуют перезагрузки сервера, в отличие от изменений, вносимых в главный конфигурационный файл httpd.conf. Синтаксис .htaccess Перед тем, как будут рассмотрены примеры, остановимся на синтаксисе директив в файлах .htaccess. · Пути к файлам и директориям должны указываться от корня сервера, например, /www/account_name/htdocs · В именах доменов обязательно должны быть указаны протоколы, например: Redirect / http://www.rz-host.ru Путь от корня сервера на SoftTime-Хостинг На нашем сервере абсолютный путь формируется следующим образом: к директории /www необходимо прибавить имя Вашего FTP-аккаунта, например, для аккаунта supercom абсолютный путь будет выглядеть так: # корневая директория аккаунта Для проверки Вы можете посмотреть абсолютный путь к корневой директории сайта с помощью функции языка PHP - phpinfo(). Выполните её и посмотрите в фиолетовых таблицах значение директивы DocumentRoot. Она будет содержать путь к корневой директории сайта. Примеры использования .htaccess Глобальное перенаправление (редирект) на другой адрес: Redirect / http://www.site.ru Перенаправление (редирект) только при запросе определенных страниц: redirect /company http://www.site.com/company При запросе страниц из каталогов company и forum будет произведено перенаправление на новые адреса. Перенаправление (редирект) только посетителей с определенным IP-адресом: SetEnvIf REMOTE_ADDR 92.241.169.162 REDIR="redir" Если посетитель имеет IP-адрес 92.241.169.162, то ему будет открыта страница only_for_you.html. Изменение названия индексной страницы: DirectoryIndex index.html index.php index.shtml Можно указать несколько индексных страниц. При запросе каталога они будут искаться в том порядке, в котором перечислены в директиве DirectoryIndex. Если не будет найден файл index.html, то будет произведен поиск файла index.php и т.д. Выполнять код PHP в файлах HTML RemoveHandler .html .htm Добавив эти строки в .htaccess вы дадите директиву серверу выполнять инструкции PHP не только в файлах с расширением *.php и *.phtml, но и в файлах с расширением *.htm и *.html. Обработка ошибок Apache ErrorDocument 401 /401.html При возникновении этих ошибок посетитель будет перенаправлен на специально созданные страницы (файлы), располагающиеся в данном случае в корне сайта. · 401 ошибка — Требуется авторизация (Authorization Required). · 403 ошибка — пользователь не прошел аутентификацию, доступ запрещен (Forbided). · 404 ошибка — Документ не найден (Not Found). · 500 ошибка — Внутренняя ошибка сервера (Internal Server Error). Запрет на отображение листинга каталога при отсутствии индексного файла Options –Indexes Разрешить отображение листинга каталога Options +Indexes Определение кодировки, в которой сервер "отдает" файлы AddDefaultCharset windows-1251 Определение кодировки на загружаемые файлы CharsetSourceEnc windows-1251 Запрет доступа ко всем файлам deny from all Запрещен доступ ко всем файлам и каталогам в текущей директории. Разрешить доступ только с определенного IP-адреса order deny,allow Строка order deny,allow определяет, в каком порядке следует выполнять директивы. Сначала выполняется директива запрета доступа, а затем разрешается доступ только для IP-адреса 85.72.219.162. Если в первой строке поменять порядок следования директив на order allow,deny, то доступ для данного IP-адреса не будет открыть, так как директива deny, выполняемая последней перекроет действия директивы allow. Запретить доступ с определенного IP-адреса deny from 120.28.64.69 Запретить доступ к определенному файлу <Files config.php> Запрещен доступ посетителей к файлам config.php. Этот запрет не действует на скрипты web-сервера. Они по прежнему будут иметь доступ к этому файлу. Запретить доступ к файлам с определенным расширением <Files "*.conf"> Здесь запрещен доступ к файлам с расширением *.conf. Директива , при указании имени файлов, позволяет использовать подстановочные символы. ? - любой одиночный символ Запретить доступа к файлам с несколькими типа расширений <Files ~ ".(inc|conf|cfg)$"> Запрещен доступ к файлам с расширением *.inc, *.conf и *.cfg. Хотя директива , по умолчанию, не работает с регулярными выражениями, но их можно включить поставив символ тильды(~) в опциях директивы. Синтаксис следующий: Установка пароля на директорию AuthName "Admin page" Файл с вышеприведенными директивами следует положить в защищаемую директорию. В директиве AuthUserFile прописывается абсолютный путь к файлу, содержащему шифрованные пароли. |
Регистрация доменов:ПодробнееПартнёрская программа: лучшая партнерская программа в хостинге выплаты WebMoney, Yandex, Z-Payment До 30% комиссионных Подробнее... |
| Web мастеру Шаблоны сайтов, Бесплатные PHP скрипты, музыкальные и видео конверторы, генератор sitemap.xml, HTML,PHP Подробнее... |
Новости: 15.03.2009 On-Line оплата.. подробнее.. | |
Способы оплаты:
![]() |
Связь с нами: ICQ: E-Mail: |