SEO - Статьи Использование файла .htaccess в оптимизации и управлении сайтом

Discussion in 'SЕО - тонкости, методы раскрутки' started by Solide Snake, 27 Oct 2007.

  1. Solide Snake

    Solide Snake Banned

    Joined:
    28 Apr 2007
    Messages:
    382
    Likes Received:
    820
    Reputations:
    69
    Использование файла .htaccess в оптимизации и управлении сайтом


    Файл .htaccess используют для изменения различных настроек вебсервера по отношению к отдельной директории и ко всем вложенным в неё директориям. Это очень полезный инструмент для вебмастера при внутренней оптимизации сайта, так как позволяет избежать множества проблем. А их бывает немало. Вот лишь некоторые из возможностей файла .htaccess:


    1. Перенаправление на любую страницу при обработке ошибок на сервере (например, ошибка 401, 403, 404, 500);
    2. Редирект на любую страницу по ip пользователя или при запросе конкретной страницы (а также по маске имени);
    3. Редирект при запросе определённых файлов;
    4. Редирект по префиксу www (301 редирект);
    5. Запрещение доступа в конкретную директорию для всех;
    6. Разрешение доступа в директорию по паролю (работает совместно с файлом .htpasswd) или по определённому ip пользователя;
    7. Полный редирект.

    Файл .htaccess можно создать в Блокноте. Заливают файл .htaccess в корень необходимой директории. При этом он будет оказывать действие на все вложенные директории, но только если в них нет своего файла .htaccess, в котором есть другие директивы.

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

    Code:
    <?php
    phpinfo();
    ?>
    В информации об установленном PHP (doc_root, open_basedir, DOCUMENT_ROOT) ищем полный абсолютный путь.

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

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

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

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

    Code:
    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:

    Code:
    SetEnvIf REMOTE_ADDR 192.152.37.125 REDIR=”redir”
    RewriteCond %{REDIR} redir
    RewriteRule ^/$ /user.php
    если запрашиваются определённые страницы, то пользователь будет перенаправлен на другие страницы:

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

    Code:
    RewriteEngine On
    RewriteRule !.(gif|jpg)$ index.php
    4. Редирект по префиксу www (301 редирект).

    - с site.ru на www.site.ru:
    Code:
    RewriteEngine on
    Options +FollowSymlinks
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^site$
    RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
    - с www.site.ru на site.ru:
    Code:
    RewriteEngine on
    Options +FollowSymlinks
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.site.ru$
    RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
    5. Запрещение доступа в конкретную директорию

    - для всех:

    Code:
    deny from all
    - к конкретному файлу:

    Code:
    <Files secret.php>
    deny from all
    </Files>
    6. Разрешение доступа в директорию по паролю (работает совместно с файлом .htpasswd) или по определённому ip пользователя.

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

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

    Code:
    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 пользователя:

    Code:
    order deny,allow
    deny from all
    allow from 192.152.37.125
    Доступ в данную директорию будет разрешён только пользователю с ip 192.152.37.125.

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

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

    Это лишь некоторые примеры использования файла .htaccess на вашем сайте. Диапазон его использования очень большой, что позволяет успешно решать самые разнообразные задачи при оптимизации сайта и при его управлении.

    (c) vip-seo.info
     
    1 person likes this.