•    (Ответов: 4  Просмотров: 421)
Лента этого топика   
   
  1. #1
    Moderator Аватар для grazer
    Регистрация
    03.09.2009
    Адрес
    Belarus
    Сообщений
    2,814
    Поинтов: 1388
    Записей в дневнике
    32

    По умолчанию Файл .htaccess

    Самым распространенным http-сервером является Apache, так как он распространяется абсолютно бесплатно и обладает поддержкой PHP ,Perl, Java, CGI. На данный момент работает на более чем половине веб-серверов.


    Htaccess – файл, в котором хранятся дополнительные настройки серверов, работающих при поддержке Apache. С помощью файла Htaccess можно настраивать редиректы, доступ к каталогам и т.д. При этом, этот файл не обращается к главному конфигурационному файлу, иными словами он не может никоим образом повлиять на работу сервера.

    Файл Htaccess действует на каталог, в котором размещен, а также на дочерние каталоги. Этот файл можно разместить в любом каталоге с любыми настройками. Настройка файла происходит с помощью директив, которые также действуют на все файлы каталога, в котором размещен Htaccess и всех его дочерних каталогов, только если в дочерних каталогах не установлен свой Htaccess со своими настройками.

    Назначение файла Htaccess

    1. Авторизация (устанавливаем ограничение для посещения конкретной директории).
    2. Собственные страницы ошибок (с помощью этого файла можно изменить вид страниц, которые отдаются при возникновении каких-либо ошибок на стороне сервера).
    3. Изменение URL-адресов (можно изменять длинные URL-адреса на короткие).
    4. Контроль кеша (через файл Htaccess возможно настроить кеширование файлов браузерами).

    Директива перенаправления – редирект

    Одна из самых часто используемых в файле Htaccess директив – это директива простого перенаправления. К примеру, нам нужно сделать редирект с какой-либо страницы сайта на другой сайт. Для этого, в файл .htaccess прописываем следующие строчки:

    PHP код:
    Redirect 301 is_an_old_page.html http://а-new-domain.ru/a_new_page.html 
    Или так:

    PHP код:
    Redirect permanent is_an_old_page.html http://а-new-domain.ru/a_new_page.html 
    Не забудьте, что в файле php.ini нужно предварительно включить модуль mod_alias (включает Redirect, RedirectPermanent, RedirectMatch), либо модуль mod_rewrite (включает реврайт).

    Сложное перенаправление - mod_rewrite

    С помощью данного редиректа можно преобразовывать URL-адреса, так сказать, на лету. В mod_rewrite есть огромное количество правил и условий, которые позволяют делать любые преобразования URL-адресов.

    Можно перенаправлять пользователей с домена с www на домен без www. Сделать это можно следующим образом:

    PHP код:
    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond 
    %{HTTP_HOST} ^www.domain.com$ [NC]
    RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L] 
    Можно выдавать разные сайты, в зависимости от браузера пользователя, используя заголовок запроса User-Agent:

    PHP код:
    RewriteEngine on

    RewriteCond 
    %{HTTP_USER_AGENT} ^Mozilla.*
    RewriteRule ^(.*)$ /mozilla/$[L]

    RewriteCond %{HTTP_USER_AGENT} ^Lynx.*
    RewriteRule ^(.*)$ /lynx/$[L]

    RewriteRule ^(.*)$ /default/$[L
    Для того, чтобы запретить поисковым роботам Google посещать страницы сайта, в файл htaccess помещаем следующие строки:

    PHP код:
    RewriteEngine on

    RewriteCond 
    %{USER_AGENTGooglebot
    RewriteRule 
    .* - [F
    При посещении сайта с такими настройкам, поисковому боту Google будет отдаваться ошибка 403 (FORBIDDEN).

    Если вы перенесли сайт на другой домен, то нужно обязательно сделать такой 301 редирект (со временем, перетекут параметры ТИЦ и PR):

    PHP код:
    RewriteEngine on

    RewriteCond 
    %{HTTP_HOST} ^www.old_domain.com$ [R=301,1]
    RewriteRule ^(.*)$ http://www.new_domain.com/$1 
    Для того, чтобы перенаправить пользователей с поддомена, к примеру forum.webmasters.ru на директорию webmasters.ru/forum, вписываем в файл htaccess это:

    PHP код:
    RewriteEngine on

    RewriteCond 
    %{HTTP_HOST} ^forum.webmasters.ru$ [NC]
    RewriteCond %{REQUEST_URI} !^/forum/$ [NC]
    RewriteRule (.*) /forum/$[L
    А какие перенаправления вы используете на своих сайтах и почему?
    Последний раз редактировалось grazer; 31.05.2010 в 13:56.
    Мой блог и Twiter

  2. #2
    Senior Member Аватар для Agor71
    Регистрация
    14.02.2010
    Сообщений
    414
    Поинтов: 235

    По умолчанию

    Похоже, что ошибка в тексте.
    На данный момент работает не более чем половине веб-серверов
    Думаю, подразумевается «на», а не «не».

  3. #3
    Moderator Аватар для Dr. Kronos
    Регистрация
    03.09.2009
    Адрес
    Internet
    Сообщений
    628
    Поинтов: 586

    По умолчанию

    Интересная статья, спасибо. Вообще, с htaccess можно много магических штучек делать

  4. #4
    Moderator Аватар для grazer
    Регистрация
    03.09.2009
    Адрес
    Belarus
    Сообщений
    2,814
    Поинтов: 1388
    Записей в дневнике
    32

    По умолчанию

    Цитата Сообщение от Agor71 Посмотреть сообщение
    Думаю, подразумевается «на», а не «не».
    Да, спасибо, исправил.
    Цитата Сообщение от Dr. Kronos Посмотреть сообщение
    Интересная статья, спасибо. Вообще, с htaccess можно много магических штучек делать
    Ну так выкладывайте коды своих магических штучек на форум.
    Мой блог и Twiter

  5. #5
    Senior Member Аватар для Sk8er
    Регистрация
    08.09.2009
    Адрес
    Сибирь
    Сообщений
    1,552
    Поинтов: 1918
    Записей в дневнике
    1

    По умолчанию

    Я вот такое всегда прописываю:

    # www редирект
    RewriteCond %{HTTP_HOST} ^www.domain.ru$ [NC]
    RewriteRule ^(.*)$ http://domain.ru/$1 [R=301,L]

    Это что бы www версия сайта не индексировалась

 
 
Похожие темы Рейтинг Раздел Ответов Последний пост
    Как получать 10$ за любой файл
     
    Реклама 0 09.05.2010 09:27
    Файл robots.txt – важная часть блога
     
    Дайджест блогосферы 11 15.01.2010 20:43
    .htaccess
     
    Хостинг и Домены 10 13.11.2009 15:49
    проблемы с .htaccess
     
    Прочее 6 08.10.2009 22:11
    .htaccess редирект
     
    Прочее 9 11.09.2009 19:48
Сейчас на сайте:
пользователей и 
129
 гостей
Пользователей:
6,031
Сообщений:
97,161
Тем:
6,096
Футболка webmasters бесплатно