FAQ: .htaccess
1. Как сделать свою страницу ошибки 404?
Добавьте правило в .htaccess:
ErrorDocument 404 /404.html
где 404.html — это ваша собственная страница с текстом ошибки.
2. Как сделать перенаправление с domen1.com на domen2.com
В корне сайта domen1.com добавьте правило:
Redirect / http://domen2.com
3. Как сменить кодировку всего выводимого сайта?
Для этого добавьте правило (например для cp1251):
AddDefaultCharset cp1251
4. Как сделать, чтобы сайт открывался без указания подкаталога в адресной строке?
Это можно сделать, добавив правило в .htaccess корня сайта:
RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-f RewriteRule !^site(/?|/.+)$ /site%{REQUEST_URI} [L]
где site — это подкаталог. Еще информация по перенаправлению из подкаталога здесь.
5. Как в адресной строке заменить расширение скриптов с *.php на *.html?
Это можно сделать с помощью правила:
RewriteEngine On RewriteRule (.+) $1.html [L]
6. Как запретить доступ с определенных IP адресов к сайту?
Это можно сделать, добавив в .htaccess корня сайта следующие правила:
Order Allow,Deny Allow from All Deny from 180.10.10.10
где 180.10.10.10 запрещенный ip. Если нужен запрет с нескольких ip адресов, то такая конструкция:
SetEnvIf Remote_Addr "^XXX\.XXX\.XXX\.XXX" DenyAccess SetEnvIf Remote_Addr "^XXX\.XXX\.XXX\.XXX" DenyAccess Order allow,deny deny from env=DenyAccess allow from all
где XXX.XXX.XXX.XXX — это запрещенные ip адреса.
7. Как переназначить индексный файл сайта?
Это можно сделать с помощью правила:
DirectoryIndex index3.php
где index3.php это новый индексный файл, который располагается в том же каталоге что и .htaccess.
8. Как добавить префикс www в адрес?
RewriteEngine on RewriteCond %{HTTP_HOST} domain.ru RewriteRule ^(.*)$ http://www.domain.ru/$1 [R=permanent,L]
9. Как включить листинг директории?
Options +Indexes // включить листинг директории Options -Indexes // отключить листинг директории