пятница, 2 декабря 2011 г.

Файл .htaccess.

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

Файл .htaccess создан. Его можно открывать с помощью блокнота и редактировать, а можно использовать  редактор.

Каждая строчка в Файл «.htaccess» называется директива.

Вы прописали  директорию в корневом файле .htaccess, то выполнение этой команды будет, распространятся  на все папки сайта, находящиеся в этой директории – например смена кодировки.

В  файле .htaccess прописана директива для определенного файла, то и выполняться команда будет только для этого файла.

Вам нужно сменить  кодировку какой-нибудь папке, то создаете в этой папке  файл .htaccess если его нет, и прописываете нужную директорию, а если есть, то просто прописываете строчку с нужной директорией.

Примеры:

Перенаправление на любую страницу при обработке ошибок на сервере (например, ошибка 401). При возникновении (определении) этих ошибок пользователь будет перенаправлен на соответствующие страницы:

ErrorDocument 401 /error-401.php
или на главную страницу:

ErrorDocument 401 /index.php


Редирект (Редирект - автоматическое перенаправление пользователей с одного сайта на другой.) по ip пользователя или при запросе конкретной страницы (а также по маске имени). Если у пользователя ip ХХХ.ХХХ.ХХ.ХХ, то он будет перенаправлен на страницу user.php:

SetEnvIf REMOTE_ADDR ХХХ.ХХХ.ХХ.ХХ REDIR="redir"
RewriteCond %{REDIR} redir
RewriteRule ^/$ /user.php

если запрашиваются определённые страницы, то пользователь будет перенаправлен на другие страницы:

redirect /secret http://muurzik.blogspot.com/nosecret

Редирект при запросе определённых файлов. Если запрашиваются файлы, расширение которых не указано в файле .htaccess (gif и jpg), то следует перенаправление:

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

Редирект по префиксу www (301 редирект).

- с site.ru на www.site.ru:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^site$
RewriteRule ^(.*)$ http://muurzik.blogspot.com/$1 [R=301,L]

- с www.site.ru на site.ru:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.site.ru$
RewriteRule ^(.*)$ http://muurzik.blogspot.com/$1 [R=301,L]

Запрещение доступа в конкретную директорию

- для всех:

deny from all

- к конкретному файлу:

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

Разрешение доступа в директорию по паролю (работает совместно с файлом .htpasswd) или по определённому ip пользователя.

- по паролю:
Нужны два файла .htaccess и .htpasswd

В файле .htaccess пишем:

AuthName "Danger! Adminka!" (текст предупреждающей надписи)
AuthType Basic
require valid-user (войдёт любой, кто ввёл правильный пароль)
AuthUserFile /home/site.ru/www/adminka/.htpasswd (абсолютный путь к .htpasswd)

В файле .htpasswd указывается пароль. Создать этот файл можно с помощью htpasswd.exe, которая расположена в директории bin сервера.
Создание файла .htpasswd:
1. в командной строке перейдите в директорию bin
2. введите: htpasswd -cm .htpasswd admin
3. утилита запросит ввод пароля два раза, введите его
4. если всё сделали успешно, то увидите Adding password for user admin
5. файл .htpasswd сгенерируется в папке bin.

Затем заливаем оба файла в нужную директорию, и при входе в неё будет запрашиваться логин и пароль. Ваша директория защищена!

- по ip пользователя:

order deny,allow
deny from all
allow from 192.152.37.125

Доступ в данную директорию будет разрешён только пользователю с ip 192.152.37.125.

Полный редирект.

Redirect / http://muurzik.blogspot.com/

Все пользователи, перешедшие на данный сайт, будут перенаправляться на сайт http://muurzik.blogspot.com/

Комментариев нет:

Отправить комментарий