PHP статьи и уроки
Приветствую Вас, Гость!

Меню
Интересное:
Реклама:
Смотрю "Записки о MacBook и Mac OS", в блоге gamedev программиста.
Главная » Статьи » Управление сайтом

Синтаксис и возможности .htaccess
.htaccess (с точкой в начале имени) - это файл, который дает возможность конфигурировать работу сервера в отдельных директориях (папках), не предоставляя доступа к главному конфигурационному файлу. Он позволит вам: устанавливать права доступа к файлам в директории, менять названия индексных файлов, самостоятельно обрабатывать ошибки Apache, перенаправляя посетителей на специальные страницы ошибок.

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

Файл .htaccess может быть размещен в любом каталоге. Директивы этого файла действует на все файлы в текущем каталоге и во всех его подкаталогах (если эти директивы не переопределены директивами нижележащих файлов .htaccess). Для того, что бы эти файлы .htaccess можно было использовать - необходимы соответствующие настройки главного конфигурационного файла. Большинство хостеров разрешают использовать настройки в файле .htaccess, а если не позволяют, то скорей всего вы взяли очень дешевый пакет с минимумом возможностей, или вы попали к самому плохому хостеру.

Допустимые директивы в .htaccess

Пути к файлам и директориям должны указываться от корня сервера, например, /pub/home/server/html/

Если вы не знаете путь от корня сервера, то Вы можете его узнать, спросив у администратора сервера, либо можете посмотреть сами, запустив на сайте функцию PHP - phpinfo(). Вам необходимо найти переменную doc_root и посмотреть ее значение - это будет путь от корня сервера до Вашей основной директории. В именах доменов обязательно должны быть указаны протоколы, например:

Redirect / http://www.test-page.ru

Глобальное перенаправление (редирект) на другой адрес:

Redirect / http://www.test-page.ru

Перенаправление (редирект) только при запросе определенных страниц:

redirect /data http://test-page.com/data
redirect /forum http://test-page.com/forum

При запросе страниц из каталогов data и forum будет произведено перенаправление на новые адреса.
Перенаправление всех запросов кроме .gif и .jpg:

RewriteEngine On
RewriteRule !.(gif|jpg)$ index.php


Все запросы кроме запросов к файлам с расширениями .gif и .jpg будут перенаправлены на файл index.php

Перенаправление (редирект) только посетителей с определенным IP-адресом:

SetEnvIf REMOTE_ADDR 192.168.11.1 REDIR="redir"
RewriteCond %{REDIR} redir
RewriteRule ^/$ /data.html


Если посетитель имеет IP-адрес 192.168.11.1, то ему будет открыта страница data.html.

Изменение названия индексной страницы:

DirectoryIndex index.html index.php index.shtml

Можно указать несколько индексных страниц. При запросе каталога они будут искаться в том порядке, в котором перечислены в директиве DirectoryIndex. Если не будет найден файл index.html, то будет произведен поиск файла index.php и т.д.

Выполнять код PHP в файлах HTML

RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html .phtml

Добавив эти строки в .htaccess вы дадите директиву серверу выполнять инструкции PHP не только в файлах с расширением *.php и *.phtml, но и в файлах с расширением *.htm и *.html. Также можно добавить туда любые другие расширения файлов, к примеру .code или .kot, такие хитрости иногда могут сбить с толку хакера, который пытается взломать ваши скрипты.


Обработка ошибок Apache

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).


Запрет на отображение содержимого каталога (если в папке нет index.php или index.html)

Options -Indexes


Определение кодировки, в которой сервер посылает страницы пользователю

AddDefaultCharset utf-8


Определение кодировки на загружаемые файлы

CharsetSourceEnc windows-1251
или
CharsetSourceEnc utf-8


Запрет доступа ко всем файлам

deny from all


Запрещен доступ ко всем файлам и каталогам в текущей директории.

Разрешить доступ только с определенного IP-адреса

order deny,allow
deny from all
allow from 192.168.11.1



Строка order deny,allow определяет, в каком порядке следует выполнять директивы. Сначала выполняется директива запрета доступа, а затем разрешается доступ только для IP-адреса 192.168.11.1. Если в первой строке поменять порядок следования директив на order allow,deny, то доступ для данного IP-адреса не будет открыт, так как директива deny, выполняемая последней перекроет действия директивы allow.

Запретить доступ с определенного IP-адреса

deny from 192.168.11.1

Запретить доступ к определенному файлу

<Files config.php>
  deny from all
</Files>


Запрещен доступ посетителей к файлам config.php. Этот запрет не действует на скрипты web-сервера. Они по прежнему будут иметь доступ к этому файлу.

Запретить доступ к файлам с определенным расширением

<Files "*.ini">
  deny from all
</Files>


Здесь запрещен доступ к файлам с расширением *.ini. Директива, при указании имени файлов, позволяет использовать подстановочные символы.

? - любой одиночный символ

* - любая последовательность символов, исключая символ / (слеш)

Запретить доступа к файлам с несколькими типа расширений

<Files ~ ".(inc|conf|cfg|pass)$">
  deny from all
</Files>


Запрещен доступ к файлам с расширением *.inc, *.conf, *.cfg, *.pass. Хотя директива, по умолчанию, не работает с регулярными выражениями, но их можно включить, поставив символ тильды (~) в опциях директивы. Синтаксис следующий:

[тильда] [пробел] [далее_все_без_пробелов]

Установка пароля на директорию

AuthName "Admin page"
AuthType Basic
AuthUserFile /pub/home/server/.pass
require valid-user
</Files>
Категория: Управление сайтом | Добавил: PHP (17.07.2009)
Просмотров: 4931 | Комментарии: 2
Всего комментариев: 2
2  
тут на веб-блоге можно посмотреть большой выбор умных статей про http://medbaz.com/news-more-949.html - свинка симптомы у взрослых.

1  
Доброго времени суток!
Меня зовут Кристина, я директор сетевого магазина игрушек для детей KID TOYS. Мы продаём игрушки для детей большим и мелким оптом на всей территории Украины. Лишь у нас, огромный выбор детских игрушек, вкусные цены и лучшие условия доставки товаров по Украине. Посетите наш интернет-магазин http://www.kidtoys.com.ua и лично оцените все положительные аспекты работы с KID TOYS. Мы всегда можем удивить и обрадовать покупателей. Добро пожаловать!
Каждый знает, что хороший товар – это гарантия прибыли от его продажи. Хорошо это правило работает на товарах для детей, особенно на детские. Именно поэтому особенно важно отыскать того поставщика, который предоставит большой ассортимент качественных игрушек по приемлемым ценам. Наш онлайн-магазин предоставляет не только качественные детские игрушки по доступным ценам, но и самые удобные условия доставки по всей Украине.
З.Ы. Буду надеяться, что я не нарушила порядок Вашего ресурса.
Благодарю. :)

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Copyright Viktor L.P. © 2017 Бесплатный конструктор сайтов - uCoz
down
Синтаксис и возможности .htaccess - Управление сайтом - Статьи, уроки - Уроки и статьи по PHP
Главная » Статьи » Управление сайтом

Синтаксис и возможности .htaccess
.htaccess (с точкой в начале имени) - это файл, который дает возможность конфигурировать работу сервера в отдельных директориях (папках), не предоставляя доступа к главному конфигурационному файлу. Он позволит вам: устанавливать права доступа к файлам в директории, менять названия индексных файлов, самостоятельно обрабатывать ошибки Apache, перенаправляя посетителей на специальные страницы ошибок.

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

Файл .htaccess может быть размещен в любом каталоге. Директивы этого файла действует на все файлы в текущем каталоге и во всех его подкаталогах (если эти директивы не переопределены директивами нижележащих файлов .htaccess). Для того, что бы эти файлы .htaccess можно было использовать - необходимы соответствующие настройки главного конфигурационного файла. Большинство хостеров разрешают использовать настройки в файле .htaccess, а если не позволяют, то скорей всего вы взяли очень дешевый пакет с минимумом возможностей, или вы попали к самому плохому хостеру.

Допустимые директивы в .htaccess

Пути к файлам и директориям должны указываться от корня сервера, например, /pub/home/server/html/

Если вы не знаете путь от корня сервера, то Вы можете его узнать, спросив у администратора сервера, либо можете посмотреть сами, запустив на сайте функцию PHP - phpinfo(). Вам необходимо найти переменную doc_root и посмотреть ее значение - это будет путь от корня сервера до Вашей основной директории. В именах доменов обязательно должны быть указаны протоколы, например:

Redirect / http://www.test-page.ru

Глобальное перенаправление (редирект) на другой адрес:

Redirect / http://www.test-page.ru

Перенаправление (редирект) только при запросе определенных страниц:

redirect /data http://test-page.com/data
redirect /forum http://test-page.com/forum

При запросе страниц из каталогов data и forum будет произведено перенаправление на новые адреса.
Перенаправление всех запросов кроме .gif и .jpg:

RewriteEngine On
RewriteRule !.(gif|jpg)$ index.php


Все запросы кроме запросов к файлам с расширениями .gif и .jpg будут перенаправлены на файл index.php

Перенаправление (редирект) только посетителей с определенным IP-адресом:

SetEnvIf REMOTE_ADDR 192.168.11.1 REDIR="redir"
RewriteCond %{REDIR} redir
RewriteRule ^/$ /data.html


Если посетитель имеет IP-адрес 192.168.11.1, то ему будет открыта страница data.html.

Изменение названия индексной страницы:

DirectoryIndex index.html index.php index.shtml

Можно указать несколько индексных страниц. При запросе каталога они будут искаться в том порядке, в котором перечислены в директиве DirectoryIndex. Если не будет найден файл index.html, то будет произведен поиск файла index.php и т.д.

Выполнять код PHP в файлах HTML

RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html .phtml

Добавив эти строки в .htaccess вы дадите директиву серверу выполнять инструкции PHP не только в файлах с расширением *.php и *.phtml, но и в файлах с расширением *.htm и *.html. Также можно добавить туда любые другие расширения файлов, к примеру .code или .kot, такие хитрости иногда могут сбить с толку хакера, который пытается взломать ваши скрипты.


Обработка ошибок Apache

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).


Запрет на отображение содержимого каталога (если в папке нет index.php или index.html)

Options -Indexes


Определение кодировки, в которой сервер посылает страницы пользователю

AddDefaultCharset utf-8


Определение кодировки на загружаемые файлы

CharsetSourceEnc windows-1251
или
CharsetSourceEnc utf-8


Запрет доступа ко всем файлам

deny from all


Запрещен доступ ко всем файлам и каталогам в текущей директории.

Разрешить доступ только с определенного IP-адреса

order deny,allow
deny from all
allow from 192.168.11.1



Строка order deny,allow определяет, в каком порядке следует выполнять директивы. Сначала выполняется директива запрета доступа, а затем разрешается доступ только для IP-адреса 192.168.11.1. Если в первой строке поменять порядок следования директив на order allow,deny, то доступ для данного IP-адреса не будет открыт, так как директива deny, выполняемая последней перекроет действия директивы allow.

Запретить доступ с определенного IP-адреса

deny from 192.168.11.1

Запретить доступ к определенному файлу

<Files config.php>
  deny from all
</Files>


Запрещен доступ посетителей к файлам config.php. Этот запрет не действует на скрипты web-сервера. Они по прежнему будут иметь доступ к этому файлу.

Запретить доступ к файлам с определенным расширением

<Files "*.ini">
  deny from all
</Files>


Здесь запрещен доступ к файлам с расширением *.ini. Директива, при указании имени файлов, позволяет использовать подстановочные символы.

? - любой одиночный символ

* - любая последовательность символов, исключая символ / (слеш)

Запретить доступа к файлам с несколькими типа расширений

<Files ~ ".(inc|conf|cfg|pass)$">
  deny from all
</Files>


Запрещен доступ к файлам с расширением *.inc, *.conf, *.cfg, *.pass. Хотя директива, по умолчанию, не работает с регулярными выражениями, но их можно включить, поставив символ тильды (~) в опциях директивы. Синтаксис следующий:

[тильда] [пробел] [далее_все_без_пробелов]

Установка пароля на директорию

AuthName "Admin page"
AuthType Basic
AuthUserFile /pub/home/server/.pass
require valid-user
</Files>
Категория: Управление сайтом | Добавил: PHP (17.07.2009)
Просмотров: 4931 | Комментарии: 2
Всего комментариев: 2
2  
тут на веб-блоге можно посмотреть большой выбор умных статей про http://medbaz.com/news-more-949.html - свинка симптомы у взрослых.

1  
Доброго времени суток!
Меня зовут Кристина, я директор сетевого магазина игрушек для детей KID TOYS. Мы продаём игрушки для детей большим и мелким оптом на всей территории Украины. Лишь у нас, огромный выбор детских игрушек, вкусные цены и лучшие условия доставки товаров по Украине. Посетите наш интернет-магазин http://www.kidtoys.com.ua и лично оцените все положительные аспекты работы с KID TOYS. Мы всегда можем удивить и обрадовать покупателей. Добро пожаловать!
Каждый знает, что хороший товар – это гарантия прибыли от его продажи. Хорошо это правило работает на товарах для детей, особенно на детские. Именно поэтому особенно важно отыскать того поставщика, который предоставит большой ассортимент качественных игрушек по приемлемым ценам. Наш онлайн-магазин предоставляет не только качественные детские игрушки по доступным ценам, но и самые удобные условия доставки по всей Украине.
З.Ы. Буду надеяться, что я не нарушила порядок Вашего ресурса.
Благодарю. :)

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]