Чпу htaccess примеры: Пример настройки файла htaccess php

Содержание

Пример настройки файла htaccess php

Примеры записей в htaccess: Индексный файл, Редирект с сохранением рейтинга страницы, Склеивание www и http, Создание ЧПУ или ЧеловекуПонятныхУрлов, Редирект всех файлов папки на один файл, Защита от хотлинков, Определение кодировки и многое другое!

Указываем индексный файл (который первым открывает при обращении к сайту)

DirectoryIndex index.php index.html index.shtml

Можно указать один или несколько файлов

Редирект htaccess php

Redirect / http://www.newsite.ru/

Глобальный редирект(первый /) ВСЁ пересылаем на новый адрес http://www.newsite.ru/

Redirect /katalog http://www.newsite.ru/newkatalog

Все обращения к

katalog

переадресуем на домен

newsite. /\.]+)/?$ article.php?id=$1 [L]

После добавления данной строки в .htaccess будут доступны два адреса для документа. Например:

www.yoursite.ru/article.php?id=1

и

www.yoursite.ru/article/1
RewriteEngine on
RewriteRule cat/(.*)/(.*)/$ /art.php?$1=$2

В результате

www.yoursite.ru/art.php?type=123

превращается в

www.yoursite.ru/cat/type/123/

:

Вот ещё частные варианты:

RewriteEngine on
RewriteRule katalog-saitov[/]*$ article.php?id=$1 [L]

Статья с технически адресом

www.yoursite.ru/article.php?id=1

теперь будет доступна со своим понятным человеку названием

www.yoursite.ru/katalog-saitov

.

$
#Меняем /images/exit.jpg на другое изображение. Можно неприличное
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/exit.jpg [L]

Определение кодировки htaccess php

Дополнительные варианты самых популярных кодировок: UTF-8, Windows-1251, KOI8-R. В примерах рассмотрим самую распространённую UTF-8

AddDefaultCharset UTF8 # кодировка файлов, в которой по умолчанию отдаёт документы
AddCharset UTF8 .html # Пример: обрабатывает в данной кодировке html
AddCharset UTF8 * # Пример: обрабатывает в данной кодировке Все файлы

# Обработка в данной кодировке определённого файла
<Files "index.html">
AddCharset UTF8 .html
</Files> 

CharsetDisable On # Отменяем перекодировку Сервером загруженных файлов
CharsetDefault UTF8 # Кодировка, передаваемая Сервером Браузеру по умолчанию

CharsetSourceEnc UTF8 # Принудительная Перекодировка ВСЕХ загруженных на сервер файлов

Создание своих страниц ошибок

Если Вам хочется видеть после неправильной ссылки другую страницу, сделанную, например, самим собой, то указываем в . htaccess следующий код (ну и соответственно делаем там свои страницы):

# ошибка сервера, неверный запрос
ErrorDocument 400 /error/badrequest.html

# неавторизован
ErrorDocument 401 /error/authreqd.html

# вход запрещён
ErrorDocument 403 /error/forbid.html

# самая распространённая - страница не найдена
ErrorDocument 404 /error/notfound.html

# внутренняя ошибка сервера
ErrorDocument 500 /error/serverr.html


Видов ошибок на самом деле больше. Можете создать дополнительно и для них записи, опираясь на весь список

Запрещаем доступ

Скорее всего Вы столкнётесь с тем, что часть файлов и директорий надо будет закрыть от общего доступа.

Закрываем от всех

deny from all

Закрываем конкретный файл от всех

<Files admin.php>
deny from all
</Files>

Разрешаем доступ только с одного ip

order deny,allow
deny from all
allow from 192. (.*)$ $1.php
# php можно заменить другим расширением. Например: html, htm, shtml, asp

Запрещаем отображать содержимое директории, если нет индексного файла

Вы скорее всего хоть раз видели текст Index of и список файлов. Так происходит в том случае, когда в директории нет индексного файла (например index.php), а система предлагает выбрать файл для дальнейшего открытия. Минус этого заключается в том, что случайный пользователь может увидеть список и содержание всех файлов директории.

Options -Indexes

Секреты настройки файла .htaccess | Stebnev Studio