Файл .htaccess

(Ответов: 19, Просмотров: 10897)
Страница 1 из 2 12 Последняя
  1. Super Moderator Аватар для grazer
    • Регистрация: 03.09.2009
    • Сообщений: 5,200
    • Записей в дневнике: 83
    • Репутация: 2378
    • 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.
    Домены, хостинг и VPS 10 лет доверяю REG.RU. Проблем нет.
    Найти меня можно в телеграме, подписывайтесь (cнг/бурж seo).
    • 7

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

    AggreSSor(04.07.2012), Denis Creative(13.12.2013), HaXaL(24.05.2012), Hillel(29.04.2012), OKyJIucT(29.04.2012), Инканта(27.12.2011),
  2. Гуру Аватар для Agor71
    • Регистрация: 14.02.2010
    • Сообщений: 644
    • Репутация: 50
    Похоже, что ошибка в тексте.
    На данный момент работает не более чем половине веб-серверов
    Думаю, подразумевается «на», а не «не».
    • 0
  3. Гуру Аватар для Dr. Kronos
    • Регистрация: 03.09.2009
    • Сообщений: 705
    • Репутация: 79
    Интересная статья, спасибо. Вообще, с htaccess можно много магических штучек делать :)
    • 0
  4. Super Moderator Аватар для grazer
    • Регистрация: 03.09.2009
    • Сообщений: 5,200
    • Записей в дневнике: 83
    • Репутация: 2378
    • Webmoney BL: ?
    Цитата Сообщение от Agor71 Посмотреть сообщение
    Думаю, подразумевается «на», а не «не».
    Да, спасибо, исправил.
    Цитата Сообщение от Dr. Kronos Посмотреть сообщение
    Интересная статья, спасибо. Вообще, с htaccess можно много магических штучек делать
    Ну так выкладывайте коды своих магических штучек на форум. :)
    Домены, хостинг и VPS 10 лет доверяю REG.RU. Проблем нет.
    Найти меня можно в телеграме, подписывайтесь (cнг/бурж seo).
    • 0
  5. Banochkin.com Аватар для Sk8er
    • Регистрация: 08.09.2009
    • Сообщений: 1,799
    • Записей в дневнике: 1
    • Репутация: 91
    • Webmoney BL: ?
    Я вот такое всегда прописываю:

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

    Это что бы www версия сайта не индексировалась :)
    Banochkin.com — веду блог, создаю и продвигаю сайты.
    Контакты.
    • 0
  6. Опытный Аватар для pingvincible
    • Регистрация: 28.02.2012
    • Сообщений: 373
    • Репутация: 128
    • Webmoney BL: ?
    Цитата Сообщение от grazer Посмотреть сообщение
    Если вы перенесли сайт на другой домен, то нужно обязательно сделать такой 301 редирект (со временем, перетекут параметры ТИЦ и PR):


    PHP код:
    RewriteEngine on 

    RewriteCond 
    %{HTTP_HOST} ^www.old_domain.com$ [R=301,1
    RewriteRule ^(.*)$ http://www.new_domain.com/$1 
    Вот в этом месте [R=301,1] после запятой должна быть единица или буква L?
    Последний раз редактировалось pingvincible; 02.03.2012 в 17:03.
    • 0
  7. Не перестаю учиться! Аватар для blazhnov
    • Регистрация: 10.08.2011
    • Сообщений: 387
    • Репутация: 70
    В конкурсной теме Редиректы сайта ТС утверждает, что 301 редирект уничтожает весь Тиц и PR, Вы утверждаете прямо обратное. Кто прав? Где истина?
    • 0
  8. .пернатый. Аватар для Sma11erM1nd
    • Регистрация: 02.06.2010
    • Сообщений: 638
    • Репутация: 245
    blazhnov, PR - да, перетечет, а вот насчет ТИЦа - думаю что нет.
    • 1

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

    blazhnov(02.03.2012),
  9. Banned
    • Регистрация: 16.02.2012
    • Сообщений: 357
    • Репутация: 40
    Проверено на собственном опыте: PR - перетекает, а вот ТИЦ - нет...
    • 2

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

    blazhnov(02.03.2012), Hillel(29.04.2012),
  10. Не перестаю учиться! Аватар для blazhnov
    • Регистрация: 10.08.2011
    • Сообщений: 387
    • Репутация: 70
    А на 302-редиректе? Его можно оставлять на постоянно?
    • 1

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

    atheroth(30.04.2012),
Страница 1 из 2 12 Последняя

Похожие темы

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

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

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

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

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

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

Информеры