Несколько настроек файла .htaccess

htaccessДобрый вечер пользователи сайта red-star.pro. В этой статье мы рассмотрим несколько настроек файла .htaccess. С помощью данного файла можно решить очень много вопросов.

Для начала давайте узнаем что такое файл .htaccess:

.htaccess (от. англ. hypertext access) — файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельных каталогах (папках), таких как управляемый доступ к каталогам, переназначение типов файлов и т.д., без изменения главного конфигурационного файла.

Теперь можно начать рассматривать настройки данного файла.
 

1. Устанавливаем индексный файл для сайта

DirectoryIndex имя_файла

Файл, который будет грузится по умолчанию. Например, index.html или index.php.
 

2. Кодировка по умолчанию

CharsetDefault ваша_кодировка

Кодировка, которую сервер выдает браузеру по умолчанию. Например, utf-8, windows-1251.
 

3. Кодировка для загружаемых файлов

CharsetSourceEnc ваша_кодировка

Кодировка, в которой вы должны закачивать файлы на сервер.
 

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

ErrorDocument 404 /имя_файла
ErrorDocument 401 /имя_файла

Файлы, которые выдает сервер, когда страница не найдена (404). Например, 404.html, error.php.
 

5. Запрет доступа с определенного ip

order allow deny
deny from all
deny from <ваш ip>

Будет блокироваться пользователь с ip-адресом, который вы указали. Например, deny from 192.168.01.1.
 

6. Добавляем префикс «WWW» к адресу сайта

RewriteEngine On
RewriteCond %{HTTP_HOST} ^yoursite\.com$ [NC]
RewriteRule ^(.*)$ http://www.yoursite.com/$1 [R=301,L]

Будет добавляться к вашему адресу yoursite.ru префикс WWW. Например, был адрес red-star.pro, а станет www.red-star.pro.
 

7. Установка пароля на директорию

AuthName "Private zone"
AuthType Basic
AuthUserFile /pub/home/твой_логин/.htpasswd
require valid-user
</Files>

Значение AuthName будет выводиться для посетителя и может использоваться для пояснения запроса авторизации. Значение AuthUserFile указывает на место, где хранится файл с паролями для доступа к данной директории. Этот файл создается специальной утилитой htpasswd.exe.
 

8. Изменение максимального размера для загружаемых файлов

php_value upload_max_filesize 40M
php_value post_max_size 40M

Вместо 20M укажите желаемый размер ограничения. Значение этих параметров не может быть больше 50M. Обратите внимание, что символ «M» (латинская M) указывается слитно со значением.
 

9. Запрет выдачи в листинг определенных файлов

IndexIgnore *.php* *.js

Данную инструкцию используют если надо, запретить выдачу в листинг определенных файлов, например, PHP и javascript.
 

10. Удаление дублей страниц

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yoursite.ru
RewriteRule (.*) http://www.yoursite.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.yoursite.ru/ [R=301,L]

Таким образом, мы получим редирект всех страниц-дублей на http://www.yoursite.ru/.
 

11. Изменение расширения html на php

AddHandler application/x-httpd-php .html

Иногда бывает так, что у Вас статичный веб-сайт, а Вам необходимо, чтобы на нем срабатывал какой-нибудь php-скрипт. Для этого Вам необходимо сказать серверу, чтобы он обрабатывал эту страницу как php-файл.
 

12. Защита изображений от скачивания

RewriteEngine on
RewriteCond %{HTTP_REFERER} .
RewriteCond %{HTTP_REFERER} !^http://([^.]+\.)?site\. [NC]
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
RewriteCond %{HTTP_REFERER} !msn\. [NC]
RewriteCond %{HTTP_REFERER} !yahoo\. [NC]
RewriteCond %{REQUEST_URI} !^/myimage\.jpg$
RewriteRule \.(gif|jpg|png)$ /myimage.jpg [NC,L]

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

myimage.jpg – изображение, которое будет отображаться у нерадивых веб-мастеров, вместо истинных изображений (можно добавить в изображение свой логотип или адрес сайта).
 

13. Переадресация страниц

redirect 301 /firstpage.php http://www.yoursite.ru/secondpage.php

Простое правило, позволяющее переадресовывать с одной страницы на другую.
 

Автор урока: Артур Хабиров
Статья для Вас подготовлена командой сайта www.red-star.pro.