.htaccess - эффективное использование

Разработка своих веб-приложений и страничек

.htaccess - эффективное использование

Сообщение ibe » 04 июл 2009, 19:45

Наверное, Вы замечали, что современные cms системы, различные форумы содержат в своем архиве файл .htaccess. Данная статья поможет понять новичкам принцип построения данного файла.

1. Что такое - файл .htaccess?
Файл .htaccess непосредственно служит для конфигурации и вызова директив веб-сервера Apache. Данный файл может находиться как в корневом каталоге сайта, так и в различных папках, относящихся к нему.

2. Все ли веб-серверы Apache поддерживают .htaccess ?
Да. Исключительно все веб-серверы apache под управлением операционных систем семейства Windows и Unix поддерживают данный сервис. Но, если на вашем хостинге в каталоге уже имеется файл .htaccess не спешите заменять его. Обратитесь в службу поддержки.

3. Работа с файлом.
Итак, создадим файл .htaccess. Для этого откроем блокнот, кликнем "Файл" - "Сохранить как" и в качестве имени вводим .htaccess.
Приступим к изучению его функций.
Код: Выделить всёРазвернуть
Errordocument 403 /errors/403.php
Errordocument 404 /errors/404.php
Errordocument 500 /errors/500.php
Errordocument 503 /errors/503.php
Errordocument 401 /errors/401.php

Данные фукнции заменят стандартные страницы с ошибками, такими как: 404, 500, 503, 401. Обратите внимание, строки:
Код: Выделить всёРазвернуть
/errors/404.php
/errors/503.php
/errors/401.php
/errors/500.php 

вы заменяете на свой путь с файлом ошибки.

Иногда, нужно чтобы пользователя, обратившегося к сайту без параметра (/index.php или /index.html) переносило сразу на файл /home.php. Для этого нужно воспользоваться функцией:
Код: Выделить всёРазвернуть
 DirectoryIndex

Пример: мы хотим, чтобы пользователя, который обратился к сайту без лишних параметров переносило на страницу /home.php. Пропишем:
Код: Выделить всёРазвернуть
 DirectoryIndex /home.php

Рассмотрим следующую функцию "Досутп для определённого IP-адреса". В некоторых ситуациях необходимо, чтобы досутп к странице имел определённый IP-адрес. Для этого существует функция
Код: Выделить всёРазвернуть
Deny from ip-адрес
Пример: вам нужно закрыть досутп к странице всем, кроме ip-адреса 127.0.0.1, для этого нужно прописать
Код: Выделить всёРазвернуть
Deny from 127.0.0.1

Для закрытия досутпа непосредственно всем, прописываем:
Код: Выделить всёРазвернуть
Deny from all

Переидем к следующей фукнции, под названием "Redirect". Данная функция является одна из самых популярнейших в сети Интернет. Работает она таким образом: посетитель сайта обращается к файлу primer.txt, срабатывается функция Redirect и посетитель получает данные, которые хранятся в файле primer2.txt.
Рассмотрим пример:
Код: Выделить всёРазвернуть
Redirect http://primer.ru/file1.txt  http://primer2.vfose.ru/two.php

http://primer.ru/file1.txt - это адрес, который запрашивает пользователь, а http://primer2.vfose.ru/two.php - это адрес с которого берутся данные и посылаются в http://primer.ru/file1.txt
Далее, рассмотрим последнюю на сегодня функцию - включение ЧПУ(ЧеловекоПонятныеУрлы). Выглядит она следующим образом:
Код: Выделить всёРазвернуть
RewriteEngine On
Options +FollowSymlinks


4. Заключение
Итак, в этой статье мы поняли, для чего нужен файл .htaccess, как он используется серверами Apache.
Удачи в применении.

(c) ibe
Последний раз редактировалось ibe 06 июл 2009, 15:01, всего редактировалось 3 раз(а).
Изображение
Аватара пользователя
ibe
Активный участник
 
Сообщения: 893
Зарегистрирован: 31 мар 2009, 00:46

Re: .htaccess - эффективное использование

Сообщение Rostov114 » 04 июл 2009, 21:15

ibe писал(а):(c) ibe

Что-то не верится что ты сам статью придумывал и писал.
Поставь лучше копирайт сайта с которого скопировал.
Некоммерческий проект «HSDN»
Аватара пользователя
Rostov114
Автор
 
Сообщения: 3197
Зарегистрирован: 18 окт 2007, 02:21

Re: .htaccess - эффективное использование

Сообщение Zver » 04 июл 2009, 21:19

Поподробнее о
Код: Выделить всёРазвернуть
RewriteEngine On
пожалуйста.
Zver
Активный участник
 
Сообщения: 1333
Зарегистрирован: 18 дек 2008, 18:51
Откуда: Саратов, Заводской

Re: .htaccess - эффективное использование

Сообщение Dimanok » 04 июл 2009, 21:24

Zver писал(а):Поподробнее о
Код: Выделить всёРазвернуть
RewriteEngine On
пожалуйста.

для того чтобы чпу работало , в httpd.conf нужно раскоментировать:
Код: Выделить всёРазвернуть
LoadModule rewrite_module modules/mod_rewrite.so
www.strike64.ru - Крупнейшая конференция о играх корпорации Valve, Поволжья
Dimanok
Автор
 
Сообщения: 3506
Зарегистрирован: 05 июл 2008, 11:02
Откуда: Саратов
Домен: http://www.strike64.ru

Re: .htaccess - эффективное использование

Сообщение ibe » 04 июл 2009, 21:28

Rostov114 писал(а):
ibe писал(а):(c) ibe

Что-то не верится что ты сам статью придумывал и писал.
Поставь лучше копирайт сайта с которого скопировал.

Писал сам.
Изображение
Аватара пользователя
ibe
Активный участник
 
Сообщения: 893
Зарегистрирован: 31 мар 2009, 00:46

Re: .htaccess - эффективное использование

Сообщение Zver » 04 июл 2009, 21:37

Dimanok писал(а):для того чтобы чпу работало , в httpd.conf нужно раскоментировать:
Код: Выделить всёРазвернуть
LoadModule rewrite_module modules/mod_rewrite.so

Я имел ввиду как им пользоваться.
Zver
Активный участник
 
Сообщения: 1333
Зарегистрирован: 18 дек 2008, 18:51
Откуда: Саратов, Заводской

Re: .htaccess - эффективное использование

Сообщение ibe » 04 июл 2009, 21:49

Я имел ввиду как им пользоваться.

В .htaccess прописываем:
Код: Выделить всёРазвернуть
RewriteRule ^страница$ оригинальня страница [L]

Пример:
Код: Выделить всёРазвернуть
RewriteRule ^rss.xml$ rss.php [L]

rss.php - оригинальная страница
rss.xml - виртуальная страница
Изображение
Аватара пользователя
ibe
Активный участник
 
Сообщения: 893
Зарегистрирован: 31 мар 2009, 00:46

Re: .htaccess - эффективное использование

Сообщение DPX-Infinity » 04 июл 2009, 23:25

вообще говоря если память мне не изменяет .htaccess эквивалентно в плане функций блоку <Directory> в основном конфиге апача, который, кстати, более рекомендуется к использованию)
но вообще говоря интересно. я только хотел подчеркнуть, что эти функции - не функции .htaccess исключительно.

кстати советую все важные ответы на вопросы добавлять в статью, если это конечно относится к вопросу.
Изображение
Переходите на Jabber! За ним будущее!
Желаю вам опенсорса!
Аватара пользователя
DPX-Infinity
Активный участник
 
Сообщения: 723
Зарегистрирован: 02 сен 2007, 20:45
Откуда: Саратов

Re: .htaccess - эффективное использование

Сообщение Rostov114 » 05 июл 2009, 00:17

ibe писал(а):Писал сам.

Не верю...поставь копирайт.
Некоммерческий проект «HSDN»
Аватара пользователя
Rostov114
Автор
 
Сообщения: 3197
Зарегистрирован: 18 окт 2007, 02:21

Re: .htaccess - эффективное использование

Сообщение Rostov114 » 05 июл 2009, 00:18

ibe писал(а):
Я имел ввиду как им пользоваться.

В .htaccess прописываем:
Код: Выделить всёРазвернуть
RewriteRule ^страница$ оригинальня страница [L]

Пример:
Код: Выделить всёРазвернуть
RewriteRule ^rss.xml$ rss.php [L]

rss.php - оригинальная страница
rss.xml - виртуальная страница

:) А вот теперь обьясни мне что значит
Код: Выделить всёРазвернуть
[L]
Некоммерческий проект «HSDN»
Аватара пользователя
Rostov114
Автор
 
Сообщения: 3197
Зарегистрирован: 18 окт 2007, 02:21

След.

Вернуться в PHP, HTML, CSS...

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [bot] и гости: 32

cron