Время:
Новых сообщений: Нет
Вы на форуме дней
Ваша группа: Гость
Ваш IP: 52.14.252.16
Logical-Portal — молодежный портал со своей изюминкой, каждый сможет найти что-то интересное и полезное для себя, например наш форум общения с которым вам обязательно нужно ознакомиться.
  • Страница 1 из 1
  • 1
Модератор форума: Hawk  
Использование файла .htaccess в оптимизации и управлении сай
Сообщение оставлено 19.02.2012 в 18:22:30 | Сообщение #1
Файл .htaccess используют для изменения различных настроек вебсервера по отношению к отдельной директории и ко всем вложенным в неё директориям. Это очень полезный инструмент для вебмастера при внутренней оптимизации сайта, так как позволяет избежать множества проблем. А их бывает немало. Вот лишь некоторые из возможностей файла .htaccess:
1. Перенаправление на любую страницу при обработке ошибок на сервере (например, ошибка 401, 403, 404, 500);
2. Редирект на любую страницу по ip пользователя или при запросе конкретной страницы (а также по маске имени);
3. Редирект при запросе определённых файлов;
4. Редирект по префиксу www (301 редирект);
5. Запрещение доступа в конкретную директорию для всех;
6. Разрешение доступа в директорию по паролю (работает совместно с файлом .htpasswd) или по определённому ip пользователя;
7. Полный редирект.
Файл .htaccess можно создать в Блокноте. Заливают файл .htaccess в корень необходимой директории. При этом он будет оказывать действие на все вложенные директории, но только если в них нет своего файла .htaccess, в котором есть другие директивы.

Если в файле необходимо указывать пути, то они указываются абсолютные от корня сервера. Вы можете его узнать у хостера или самостоятельно. Для этого нужно создать файл PHP с любым именем и запустить его на сервере:

phpinfo();
?>

В информации об установленном PHP (doc_root, open_basedir, DOCUMENT_ROOT) ищем полный абсолютный путь.

Для корректной работы файла .htaccess необходимо чтобы он был разрешён в главном файле конфигурации httpd.conf и, как правило, все хостинги разрешают это.

А теперь приведём примеры, как правильно использовать файл .htaccess.

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

ErrorDocument 401 /error-401.php
ErrorDocument 403 /error-403.php
ErrorDocument 404 /error-404.php
ErrorDocument 500 /error-500.php

или на главную страницу:

ErrorDocument 401 /index.php
ErrorDocument 403 /index.php
ErrorDocument 404 /index.php
ErrorDocument 500 /index.php

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

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

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

redirect /secret http://www.site.ru/nosecret

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

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

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

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

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

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

- для всех:

deny from all

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


deny from all


6. Разрешение доступа в директорию по паролю (работает совместно с файлом .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.

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

Redirect / http://www.newsite.ru

Все пользователи, перешедшие на данный сайт, будут перенаправляться на сайт www.newsite.ru.

Это лишь некоторые примеры использования файла .htaccess на вашем сайте. Диапазон его использования очень большой, что позволяет успешно решать самые разнообразные задачи при оптимизации сайта и при его управлении.
 
 
   
  • Страница 1 из 1
  • 1
Поиск:
 
Графика от: Megas, GraFOS | Дизайн сверстал E.A.
Хостинг от uCoz
Яндекс.Метрика