Регистрация
DANFA Сближает людей!

Примеры использования .htaccess

.htaccess (с точкой в начале имени) — файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов. При помощи файла .htaccess можно задать большое количество параметров и разрешений для работы веб-сервера в отдельных папок, например: доступ к папкам, определение главной страницы, отображение ошибок 401, 403, 404, 500, и многое другое можно сделать файлом .htaccess без изменения главного конфигурационного файла. Файл .htaccess может находится в лубом каталоге, настройки этого файла действуют на все файлы размещенных в одной директорий и во всех подкаталогах, конечно если в подкаталогах нет своего .htaccess.

Как использовать .htaccess?
Как я уже писал чуть выше, при помощи .htaccess можно определить главную страницу вашего сайта, для этого открываем файл любым текстовым редактором (например этим: Notepad++) и пишем следующие:
DirectoryIndex index.php index.shtml

можно указать несколько индексных страниц, при запросе файл их ищет том порядке, в каком они прописаны.

Для обработки ошибок в файле .htaccess пишем:
ErrorDocument 401 http://mysite.ru/401.html 
ErrorDocument 403 http://mysite.ru/403.html 
ErrorDocument 404 http://mysite.ru/404.html 
ErrorDocument 500 http://mysite.ru/500.html  

где 401.html, 403.html, 404.html и 500.html будут ваши страницы с информацией об ошибках:
401 ошибка — Требуется авторизация (Authorization Required).
403 ошибка — пользователь не прошел аутентификацию, доступ запрещен (Forbided).
404 ошибка — Документ не найден (Not Found).
500 ошибка — Внутренняя ошибка сервера (Internal Server Error).

Для того, что бы задать кодировку файлов пишем:
AddDefaultCharset UTF-8

в этом случаи файлы будут в кодировке UTF-8.

Для запрета доступа ко всем файлам пишем:
deny from all

Для экстренного изменения расширения с HTML на PHP в своем файле .htaccess дописываем следующие:
AddHandler application/x-httpd-php .html

Следует изменить адреса ссылок с index.html на index.php, во избежании 404 ошибки.

Читайте еще:
Настройки .htaccess
Подключение PHP файлов при помощи .htaccess
Подключение PHP файлов при помощи .htaccess
Работа на DANFA: Фриланс.

Редирект
Файл возможно использовать для полного перенаправления на другой адрес, например, пишем в файле:
Redirect / https://site.com

после чего файл будет перенаправлять пользователя на адрес https://site.com

Или же можно перенаправить с одной страницы на другую, на том же сайте. Для этого используем Redirect 301 делаем так:
Redirect 301 /forum/thread/863/ https://danfa.net/forum/thread/863/
Работа на DANFA: Фриланс.
Хочу продолжить разговор на тему изменения внешнего вида ссылки при помощи .htaccess.
Делая сайт для фотографий мне показалось, что ссылки на страницы фотографий слишком длинный. Раньше они были такого вида: http://mysite.ru/index.php?p=view&photo_img=9d5c286b6db1ebadc07858e13eab535a377.jpg. Немного покопавшись в Интернете нашел такое решение:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?p=view&photo_img=$1 [L,QSA]
Options +FollowSymlinks

Теперь ссылки выглядят так: http://mysite.ru/9d5c286b6db1ebadc07858e13eab535a377.jpg - на много короче.
Естественно выше представленный код вставляется в файл .htaccess, который находится в корне сайта.

Изменить вид URL, скажем с такого:
http://mysite.ru/blog.php?mode=read&art=20

на такой:
http://mysite.ru/post20.html

Можно так:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^post([0-9]+).html/?$ /blog.php?mode=read&art=$1 [L,QSA] 

Получается короткий и более красивей адрес, и его легче запомнить.
Работа на DANFA: Фриланс.
Часовой пояс: GMT +6. Текущее время 12:18 am.