Файл .htaccess

(Ответов: 4, Просмотров: 3089)
  1. Super Moderator Аватар для grazer
    • Регистрация: 03.09.2009
    • Сообщений: 3,752
    • Записей в дневнике: 83
    • Репутация: 679
    • Webmoney BL:     Формальный аттестат ?
    Самым распространенным 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 в 15:56.
    100-150$ в месяц с сайта с ТИЦ 10 зарабатывают здесь.
    Moipost.ru - seo блог и мой Twitter.
    • 2

    Спасибо сказали:

    Инканта(27.12.2011),
  2. Гуру Аватар для Agor71
    • Регистрация: 14.02.2010
    • Сообщений: 631
    • Репутация: 48
    Похоже, что ошибка в тексте.
    Цитата:
    На данный момент работает не более чем половине веб-серверов
    Думаю, подразумевается «на», а не «не».
    • 0
  3. Гуру Аватар для Dr. Kronos
    • Регистрация: 03.09.2009
    • Сообщений: 725
    • Репутация: 74
    Интересная статья, спасибо. Вообще, с htaccess можно много магических штучек делать
    • 0
  4. Super Moderator Аватар для grazer
    • Регистрация: 03.09.2009
    • Сообщений: 3,752
    • Записей в дневнике: 83
    • Репутация: 679
    • Webmoney BL:     Формальный аттестат ?
    Цитата:
    Сообщение от Agor71 Посмотреть сообщение
    Думаю, подразумевается «на», а не «не».
    Да, спасибо, исправил.
    Цитата:
    Сообщение от Dr. Kronos Посмотреть сообщение
    Интересная статья, спасибо. Вообще, с htaccess можно много магических штучек делать
    Ну так выкладывайте коды своих магических штучек на форум.
    100-150$ в месяц с сайта с ТИЦ 10 зарабатывают здесь.
    Moipost.ru - seo блог и мой Twitter.
    • 0
  5. Блоггер Аватар для Sk8er
    • Регистрация: 08.09.2009
    • Сообщений: 1,678
    • Записей в дневнике: 1
    • Репутация: 41
    Я вот такое всегда прописываю:

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

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

Похожие темы

Темы Раздел Ответов Последний пост
Как получать 10$ за любой файл
Реклама и анонсы 0 09.05.2010 11:27
Файл robots.txt – важная часть блога
Дайджест блогосферы 11 15.01.2010 22:43
.htaccess
Хостинг и Серверы 10 13.11.2009 17:49
проблемы с .htaccess
Прочее 6 09.10.2009 00:11
.htaccess редирект
Прочее 9 11.09.2009 21:48

Интересные темы

htaccess преобразование url

Вся необходимая информация по преобразованию url с помощью файла htaccess, читайте подробности здесь.

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора: