Блог о web

Администрирование сайтов

Файл .htaccess: редирект, доступ, кодировка, ошибки

Автор: admin, 29 Мар 2010, рубрика: Администрирование сайтов, Продвижение сайтов, Создание сайтов

Информация, приведенная ниже, скопирована с огромного количества разных сайтов для личного использования. 80% информации проверено, работает. Вопросы и претензии на  почту: adminСобачкАmyweb24.ru

Как создать файл .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

RewriteCond %{REQUEST_URI} !/informpage.html$

RewriteCond %{REMOTE_HOST} !^12\.345\.678\.90

RewriteRule $ http://yoursitename.ru/informpage.html [R=302,L]

Страницы ошибок .htaccess 404

Обработка кодов ответов 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]

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]

Запрет просмотра каталога с помощью файла .htaccess

Предположим, что у вас вся графика, используемая на сайте находится в директории 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]

Отзывов: 2 :, , далее...

Отличные решения для вебмастера

Автор: admin, 08 Фев 2010, рубрика: Администрирование сайтов, Создание сайтов

Нашла замечательный блог. Полно интересного и качественного функционала для работы.

В восторге.

www.workstart.ru

Поставлю-ка я сюда скромненький маленький счетчик, дабы посмотреть, заходит кто-нибудь в мой личный бардак ). Вдруг заходит, тогда нужно будет тут красоту и порядок наводить…


Ваш отзыв далее...

фотогаллерея на сайт

Автор: admin, 18 Окт 2009, рубрика: Администрирование сайтов, Создание сайтов

здесь хорошо написано, буду пробовать.

http://freshcoder.ru/archives/202

Ваш отзыв далее...

Фишки вебмастеру: Слайдшоу, Аккордеон на prototype и другие

Автор: admin, 09 Окт 2009, рубрика: Администрирование сайтов, Создание сайтов

выпад. меню
http://markup-javascript.com/2009/04/26/dropdaun-vypadayushhee-menyu-s-effektami-na-jquery/

Аккордеон на prototype
http://markup-javascript.com/2009/08/01/akkordeon-na-prototype/#more-553

Прокрутка списка объектов по событию mousemove
http://markup-javascript.com/2009/07/19/prokrutka-spiska-obektov-po-sobytiyu-mousemove/

Еще фишки:
Растягивающаяся textarea
Динамические блоки на jQuery
Cufon – имплементация нестандартных шрифтов
Дропдаун, выпадающее меню с эффектами на jQuery
jQuery Cycle Plugin – Слайдшоу - http://markup-javascript.com/2009/03/29/podborka-plaginov-na-jquery/
Кастомные горизонтальный и вертикальный скролл
jQuery Carousel
Анимированный ховер для навигации на mootools - http://markup-javascript.com/page/3/

Тестинг в разных браузерах
http://spoon.net/browsers/

Прикольный Табслайдер
http://markup-javascript.com/2009/02/27/tabslajder/

Анимированная навигация - http://markup-javascript.com/page/4/

Слайдшоу - http://markup-javascript.com/2009/02/05/slajdshou/

и еще много разных фишек на http://markup-javascript.com

А еще посмотри этот ресурс http://www.easywebscripts.net/javascript/slicemenu.php
довольно интересный

Ваш отзыв далее...

Фотогалерея

Автор: admin, 28 Май 2009, рубрика: Администрирование сайтов, Создание сайтов

Я не знаю, почему господин Яндекс решил выдать эту страницу первой по запросу
Текст песни Blue October “Say It”

Текст этой песни находится на ЭТОЙ странице моего блога!

А теперь по поводу Фотогалереи:

Огромный выбор фотогалерей без php. Фотогалереи на Ajax, Java Script простые и без серверных заморочек.

http://cyrill.co.uk/2008/01/15/pure-css-dhtml-javascript-galleries/

Comments Off :, , , далее...

Ищите что-то?

Воспользуйтесь формой поиска по сайту:

Блоги наших друзей

Читаем сами и рекомендуем вам ..