.htpasswd — файл, содержащий пароли для доступа к ресурсу у веб-сервера Apache. Метод авторизации с использованием такого файла носит название базового. Некоторые другие веб-серверы, например, nginx, также могут работать с этим файлом.
Утилита htpasswd - генерация пароля на доступ к определенным страницам или разделам вашего сайта, служит для управления именами пользователей и паролями.
Читайте также:
.htaccess (с точкой в начале имени) – файл, который дает возможность конфигурировать работу сервера, не предоставляя доступа к главному конфигурационному файлу, в отдельных директориях . Например, установить права доступа к файлам в директории, изменять названия индексных файлов, обрабатывать самостоятельно ошибки Apache, перенаправляя посетителей на специальные страницы ошибок. Конфигурационные директивы сервера Apache размещены в файлe httpd.conf. Но у Вас не всегда будут права доступа к этому файлу. Если вы используете для хостинга виртуальный сервер, когда один сервер Apache обслуживает множество сайтов, то вам не позволят менять его конфигурацию. Тем не менее, вы можете конфигурировать работу сервера в своих директориях. Делать это можно с помощью файлов .htaccess. Файл .htaccess может размещаться в любом каталоге. Директивы его действуют на все файлы в текущем каталоге и во всех его подкаталогах (если эти директивы не переопределены директивами нижележащих файлов .htaccess). Изменения, в файле .htaccess, вступают в силу сразу и не требуют перезагрузки сервера, как от изменений, вносимых в главный конфигурационный файл httpd.conf.
Order Deny,Allow Deny from all
Разрешить доступ с определенного IP-адреса
Order Deny,Allow Deny from all Allow from 195.135.232.70 Allow from .example.com
Строка order deny,allow определяет, порядок выполнения директивы. Вначале выполняется директива запрета доступа, затем разрешается доступ для IP- адреса 195.135.232.70. Если в первой строке поменять порядок следования директив на order Allow,Deny, то доступ для данного IP-адреса не будет открыть, так как директива deny, выполняемая последней перекроет действия директивы allow.
DirectoryIndex index.html index.php index.shtml
Указать можно несколько индексных страниц. При запросе каталога они будут искаться в том порядке, в котором перечислены в директиве DirectoryIndex. Если не будет найден файл index.html, будет произведен поиск файла index.php и т.д.
RemoveHandler .html .htm AddType application/x-httpd-php .php .htm .html .phtml AddHandler application/x-httpd-php .css
Добавив эти строки в .htaccess вы дадите директиву серверу выполнять инструкции PHP не только в файлах с расширением *.php и *.phtml, но и в файлах с расширением *.htm и *.html.
AddHandler application/x-httpd-php .css
RemoveHandler .php .phtml .pl AddType text/plain .php .phtml .pl
ErrorDocument 401 /401.html ErrorDocument 403 /403.html ErrorDocument 404 /404.html ErrorDocument 500 /500.html
При возникновении этих ошибок посетитель будет перенаправлен на специально созданные страницы.
401 ошибка — Требуется авторизация (Authorization Required). 403 ошибка — пользователь не прошел аутентификацию, доступ запрещен (Forbided). 404 ошибка — Документ не найден (Not Found). 500 ошибка — Внутренняя ошибка сервера (Internal Server Error).
Options -Indexes - запрещает отображение. Options Indexes или Options +Indexes - разрешает.
AddDefaultCharset utf-8
CharsetSourceEnc windows-1251
php_flag magic_quotes_gpc Off
Оригинал: HOWTO: .htaccess + mod_rewrite + RewriteCond + RewriteRule + regex
Поясню пример:
RewriteRule [^/.]/feed urllist.txt
мы имеем регулярное выражение в левой части: [^/.]/feed и выражение замены url в правой: urllist.txt В квадратных скобках стоит character set, т.е. набор символов. Набор (сам по себе) обозначает один единственный символ. Символы внутри набора задают правило, которому должен соответствовать символ. Крышка, поставленная вначале набора означает, что набор соответствует любому символу, кроме перечисленных в наборе после крышки. Т.е., в данном примере, это любой символ кроме слэша или точки. Следовательно перенаправление на urllist.txt будет всякий раз когда на конце встречается /feed, за исключением двух случаев: когда на конце
//feed (например http://feed)
и когда на конце
./feed (например ../feed)
Рассмотрим стандартное RewriteRule СМС Drupal.
<IfModule mod_rewrite.c># если включен mod_rewrite RewriteEngine on # включить движок Rewrite RewriteCond %{REQUEST_FILENAME} !-f # применять RewriteRule, только если #запрашиваемое имя файла не совпадает с именем какого-нибудь реального файла на сервере RewriteCond %{REQUEST_FILENAME} !-d # и не совпадает с именем какой-нибудь реальной директории RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] # это правило рассмотрим подробнее ниже </IfModule>
Левая часть: ^(.*)$ Крышка вначале означает начало строки. Бакс в конце означает конец строки. Точка в скобочках означает любой символ. Звездочка после точки означает, что любых символов может быть от нуля до бесконечности. Скобочки означают группу. Т.к. она первая (и единственная), то эта группа идет под номером 1. Правая часть: index.php?q=$1 означает, что мы перезаписываем url на index.php?q= и к этому добавляем первую группу $1, т.е. имя запрашиваемого файла. Немного о точках и крышках. В первом примере точка обозначала точку, потому что она была внутри набора символов. Во втором примере точка обозначала любой символ, потому что она была вне набора символов. В первом примере крышка играла роль оператора исключения. Во втором примере крышка обозначала начало строки.
Флаги [L,QSA] http://www.egoroff.spb.ru/portfolio/apache/mod_rewrite.html:
Шаблон проектирования MVC (Model-View-Controller)(Model-View-Controller) требует единой точки входа для всех запросов, т. е. все запросы должны начинать обрабатываться одним файлом, например index.php.
# Кодировка сайта: AddDefaultCharset UTF-8 # Запрет на отображение содержимого каталога при отсутствии индексного файла(например, index.html) #Options -Indexes # Правило для url # Включаем модуль RewriteEngine для создания единой точки входа RewriteEngine On # Правила для шаблон MVC # Чтобы не обрабатывать файлом index.php графические файлы, css. # js файлы, а позволять их скачивать браузеру на прямую RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # Перенаправлять все запросы на index.php RewriteRule $ index.php [nocase,last]