Памятка по .htaccess

Всё о настройке .htaccess , то что когда либо было нужно.

Если посты с вашего блога коммуниздит какой-то сайт, можно ограничить доступ к блогу по IP, маске сети или UserAgent:

SetEnvIfNoCase User-Agent "^SimplePie" ddos

Order Allow,Deny
Allow from all
Deny from env=ddos # баним по UserAgent
Deny from 192.168.0.1 # баним по IP
Deny from 192.168.0. # баним всю сеть 192.168.0/24

Доступ к некоторым разделам сайта (админкам, веб-шеллам и тд) желательно закрывать с помощью пароля:

AuthUserFile /full/path/to/.htpasswd
AuthType Basic
AuthName "Password Required"
Require valid-user

Для генерации файла .htpasswd используется одноименная утилита:

htpasswd -c .htpasswd newuser

Перенаправление с www.site.ru на site.ru:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule (.*)$ http://site.ru/http://site.ru/$1 [R=301,L]
</IfModule>

Перенаправление с «/index.php» на «/»:

RewriteCond %{THE_REQUEST} ^.*/index\.php
RewriteRule ^(.*)index\.php$ http://site.ru/http://site.ru/$1 [R=301,L]

Задаем кодировку страниц:

CharsetDisable on
CharsetDefault utf-8
CharsetSourceEnc utf-8
AddDefaultCharset utf-8

Если сервер вырезает из заголовков страниц

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

и пишет туда что-то вроде «<!— Meta http equivalent was here …», нужно прописать в .htaccess следующее:

CharsetDisable On
AddHandler default-handler html

Найдена информация на сайте eax.me .