Информация, приведенная ниже, скопирована с огромного количества разных сайтов для личного использования. 80% информации проверено, работает.
Как создать файл .htaccess
Очень просто. Открываем блокнот - “Сохранить как..” - в открывшемся окошке выбрать “Тип файла: все файлы” а имя: .htaccess
С помощью этого файла производится настройка Apache сервера. Файл имеет воистину почти неограниченные возможности.
Вот лишь некоторые из них:
Редирект через .htaccess
Если нужно перенаправление с любого url сайта, то пишем:
Redirect / http://www.example.com
где
# http://www.example.com - URL На который мы перенаправляем запросы
Редирект с отдельных страниц сайта прописавают так:
временно отправляем посетителей на нужную страницу (например, “Извините, сайт в разработке”).
Обработка кодов ответов Web-сервера Apache
И выдача своей страницы пользователю
Индексные страницы .htaccess index
Код такой:
ОДНА ИНДЕКСНАЯ СТРАНИЦА ВМЕСТО ЧЕТЫРЕХ
или склеить урл сайта .htaccess
http://www.site.ru
http://site.ru
http://www.site.ru/index.html
http://site.ru/index.html
Прописать в файле .htaccess:
при отсутствии индексного файла
Или
А также XML- или ASP-файлы, которые будут вести себя как PHP-файлы:
Первая строка удаляет обработчик файлов с расширениями html и htm, а вторая строка сообщает серверу о необходимости использовать для файлов с расширениями htm и html обработчик PHP
Настройка кодировки файлов на сервере через .htaccess
отправляется браузеру в заголовке Content-Type и переключает на указанную кодировку
Включённая на хостинге опция MultiViews может вызвать неожиданные проблемы, например, отображение несуществующих страниц сайта. Допустим, на сайте существует страница с адресом http://www.ваш сайт.ru/down.php, и если посетители обратятся к несуществующему каталогу http://www.ваш сайт.ru/down/, то включённая опция MultiViews вместо этого каталога подставит файл down.php. Однако подстановка будет выполнена не полностью - пути к изображениям, таблицам стилей и т.п. будут подставлены неверно. То есть страница будет отображена с искажениями. Для подавления такого поведения Apache опцию MultiViews следует отключить.
Options -MultiViews
Глобальное перенаправление на новый адрес
Предположим, что у вас вся графика, используемая на сайте находится в директории img. Посетитель может набрать в адресной строке браузера эту директорию и увидеть список всех ваших графических файлов. Конечно, это не нанесет вам урона, но можно и не дать такого просмотра посетителю. В .htaccess пишем:
Options -Indexes
И наоборот, вы можете разрешить просмотр каталога, встроив его в стандартный интерфейс сайта директивой
#домены, которые могут ссылаться на картинки с вашего сайта
#не показывать картинки при хотлинках
Если хотите, чтобы на чужом сайте вместо 403 ошибки появлялась определенная картинка, последнюю строку следует заменить на:
[NC,R,L]
Принудительно сохранение файла вместо открытия
Если хотите, чтобы посетители вместо просматра файла онлайн сохраняли его, то в .htaccess пишем:
#кэширование html и htm на сутки
#кэширование css, javascript и txt-файлов на неделю
#кэширование flash и картинок на месяц
#запрет на кэширование скриптов
Параметр max-age приведен в секундах.
Запрет на доступ к файлу .htaccess
Например, это может быть ваш .htaccess
(источник: http://www.realcoding.net/articles/fail-htaccess-na-sluzhbe-u-seo-optimizatora.html)
Синтаксис:
RewriteEngine – ключ к запуску модуля.
RewriteBase указывает “глобальность” наших изменений (если используется знак «/», значит, настройки будут применены к текущей директории).
Директива RewriteCond ставит условие, при истинности которого будет исполняться наша настройка. В состав этой директивы входит проверочная строка. В данном случае используем переменную сервера %{HTTP_USER_AGENT}, которая выводит юзер-агенты программ, обращающихся к серверу. Далее идёт значение этой переменной, разделённое регулярным выражением ^ начала строки.
RewriteRule выполняет нашу настройку. В данном случае мы запрещаем доступ к серверу. Делается это при помощи регулярных выражений начала строки ^ и конца строки $, а также флага вида действия - [F] (его значение в данном случае FORBIDDEN).
[OR] используется в случае, если у нас несколько условий обработки действий роботов.
Код:
В данном случае робот с юзер-агентом Googlebot (сканирующий робот поисковой системы Google) не сможет получить доступ к сайту. На месте Googlebot можно написать любой юзер-агент программы или робота, которого вы не хотите видеть у себя. Здесь же можно указать и юзер-агенты известных программ-сборщиков спама типа EmailSiphon или ExtractorPro.
запретить доступ сразу нескольким роботам
Как создать файл .htaccess
Очень просто. Открываем блокнот - “Сохранить как..” - в открывшемся окошке выбрать “Тип файла: все файлы” а имя: .htaccess
С помощью этого файла производится настройка Apache сервера. Файл имеет воистину почти неограниченные возможности.
Вот лишь некоторые из них:
Редирект через .htaccess
Если нужно перенаправление с любого url сайта, то пишем:
Redirect / http://www.example.com
где
# http://www.example.com - URL На который мы перенаправляем запросы
Редирект с отдельных страниц сайта прописавают так:
Redirect /linux http://www.linux.org
Redirect /linux/download.html http://www.linux.org/dist/download_info.html
Redirect 301 /kernel http://www.linux.org
302 редирект (временно)
временно отправляем посетителей на нужную страницу (например, “Извините, сайт в разработке”).
RewriteEngine onСтраницы ошибок .htaccess 404
RewriteCond %{REQUEST_URI} !/informpage.html$
RewriteCond %{REMOTE_HOST} !^12\.345\.678\.90
RewriteRule $ http://yoursitename.ru/informpage.html [R=302,L]
Обработка кодов ответов Web-сервера Apache
ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
И выдача своей страницы пользователю
Индексные страницы .htaccess index
Код такой:
DirectoryIndex index.php index.shtml index.htmlСначала ищет 1ю указанную страницу, затем вторую и т.д.
ОДНА ИНДЕКСНАЯ СТРАНИЦА ВМЕСТО ЧЕТЫРЕХ
или склеить урл сайта .htaccess
http://www.site.ru
http://site.ru
http://www.site.ru/index.html
http://site.ru/index.html
Прописать в файле .htaccess:
Options +FollowSymLinksЗапрет на отображение содержимого каталога
RewriteEngine on
RewriteCond %{HTTP_HOST} ^site.ru
RewriteRule (.*) http://www.site.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.site.ru/ [R=301,L]
при отсутствии индексного файла
Options –IndexesВыполнять код PHP в файлах HTML, XML, ASP
RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html .phtml
Или
AddHandler application/x-httpd-php .html
А также XML- или ASP-файлы, которые будут вести себя как PHP-файлы:
AddHandler application/x-httpd-php .xml
AddHandler application/x-httpd-php .asp
Первая строка удаляет обработчик файлов с расширениями html и htm, а вторая строка сообщает серверу о необходимости использовать для файлов с расширениями htm и html обработчик PHP
Настройка кодировки файлов на сервере через .htaccess
отправляется браузеру в заголовке Content-Type и переключает на указанную кодировку
AddDefaultCharset Windows-1251Задание кодировки загружаемых файлов
CharsetSourceEnc windows-1251Отключение директивы MultiViews
Включённая на хостинге опция MultiViews может вызвать неожиданные проблемы, например, отображение несуществующих страниц сайта. Допустим, на сайте существует страница с адресом http://www.ваш сайт.ru/down.php, и если посетители обратятся к несуществующему каталогу http://www.ваш сайт.ru/down/, то включённая опция MultiViews вместо этого каталога подставит файл down.php. Однако подстановка будет выполнена не полностью - пути к изображениям, таблицам стилей и т.п. будут подставлены неверно. То есть страница будет отображена с искажениями. Для подавления такого поведения Apache опцию MultiViews следует отключить.
Options -MultiViews
Глобальное перенаправление на новый адрес
Redirect / http://www.ваш сайт.ru/Перенаправление при обращении к определённому файлу
Redirect /books/index.php http://www.ваш сайт.ru/newbooks/Перенаправление при обращении к любым страницам каталога
RedirectMatch /books/.* http://www.ваш сайт.ru/newbooks/Перенаправление при обращении к любым страницам сайта
RedirectMatch /.* http://www.ваш сайт.ru/ЗАПРЕТ ИНДЕКСАЦИИ ПОИСКОВИКАМИ ФАЙЛОВ .TXT
RewriteCond %{HTTP_USER_AGENT} ^ia_archiver$ [NC,OR]Запрет просмотра каталога с помощью файла .htaccess
RewriteCond %{HTTP_USER_AGENT} ^.*yandex*$ [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*google*$ [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Rambler.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Aport.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*crawler*$ [NC]
RewriteRule ^(.*).txt$ - [F,L]
Предположим, что у вас вся графика, используемая на сайте находится в директории img. Посетитель может набрать в адресной строке браузера эту директорию и увидеть список всех ваших графических файлов. Конечно, это не нанесет вам урона, но можно и не дать такого просмотра посетителю. В .htaccess пишем:
Options -Indexes
И наоборот, вы можете разрешить просмотр каталога, встроив его в стандартный интерфейс сайта директивой
Options +IndexesЗащита от хотлинков
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
#домены, которые могут ссылаться на картинки с вашего сайта
RewriteCond %{HTTP_REFERER} !^http://([ -a-z0-9] \.)?yoursitename\.ru [NC]
#не показывать картинки при хотлинках
RewriteRule \.(gif|jpe?g|png)$ - [F,NC,L]
Если хотите, чтобы на чужом сайте вместо 403 ошибки появлялась определенная картинка, последнюю строку следует заменить на:
RewriteRule \.(jpg|png|gif)$ http://yoursitename.ru/images/imagename.jpg
[NC,R,L]
Принудительно сохранение файла вместо открытия
Если хотите, чтобы посетители вместо просматра файла онлайн сохраняли его, то в .htaccess пишем:
AddType application/octet-stream .doc .mov .avi .pdf .xls .mp4
Кэширование файлов
#кэширование html и htm на сутки
<FilesMatch “.(html|htm)$”>
Header set Cache-Control “max-age=43200″
</FilesMatch>
#кэширование css, javascript и txt-файлов на неделю
<FilesMatch “.(js|css|txt)$”>
Header set Cache-Control “max-age=604800″
</FilesMatch>
#кэширование flash и картинок на месяц
<FilesMatch “.(flv|swf|ico|gif|jpg|jpeg|png)$”>
Header set Cache-Control “max-age=2592000″
</FilesMatch>
#запрет на кэширование скриптов
<FilesMatch “\.(pl|php|cgi|spl|scgi|fcgi)$”>
Header unset Cache-Control
</FilesMatch>
Параметр max-age приведен в секундах.
Запрет на доступ к файлу .htaccess
Например, это может быть ваш .htaccess
<Files .htaccess>
order allow,deny
deny from all
</Files>
Защита от сканирования роботами поисковиков
(источник: http://www.realcoding.net/articles/fail-htaccess-na-sluzhbe-u-seo-optimizatora.html)
Синтаксис:
RewriteEngine – ключ к запуску модуля.
RewriteBase указывает “глобальность” наших изменений (если используется знак «/», значит, настройки будут применены к текущей директории).
Директива RewriteCond ставит условие, при истинности которого будет исполняться наша настройка. В состав этой директивы входит проверочная строка. В данном случае используем переменную сервера %{HTTP_USER_AGENT}, которая выводит юзер-агенты программ, обращающихся к серверу. Далее идёт значение этой переменной, разделённое регулярным выражением ^ начала строки.
RewriteRule выполняет нашу настройку. В данном случае мы запрещаем доступ к серверу. Делается это при помощи регулярных выражений начала строки ^ и конца строки $, а также флага вида действия - [F] (его значение в данном случае FORBIDDEN).
[OR] используется в случае, если у нас несколько условий обработки действий роботов.
Код:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} ^Googlebot
RewriteRule ^.*$ - [F]
В данном случае робот с юзер-агентом Googlebot (сканирующий робот поисковой системы Google) не сможет получить доступ к сайту. На месте Googlebot можно написать любой юзер-агент программы или робота, которого вы не хотите видеть у себя. Здесь же можно указать и юзер-агенты известных программ-сборщиков спама типа EmailSiphon или ExtractorPro.
запретить доступ сразу нескольким роботам
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} ^ Googlebot [OR]
RewriteCond %{HTTP_USER_AGENT} ^ Yandex
RewriteRule ^.*$ - [F]
0 коммент.:
Отправить комментарий
Все сообщения проверяются! Спамеры идите в лоток блинами торговать! Адекватные люди приветствуются.