Розробка, підтримка, SEO, просування, соцмережі та реклама сайтів ☣
Кабінет клієнта
Зареєструватись Забули пароль?
Розробка та створення сайтів » Блог » faq » Як правильно написати або зконфігурувати htaccess

Як правильно написати або зконфігурувати htaccess

Створюю і просуваю комерційні сайти та інтернет-магазини з 2008 року. 22-04-2013, 12:00 4 361 0
Як правильно написати або зконфігурувати htaccess

Web - сервер Apache - це потужний і багатофункціональний програмний продукт із різноманітними можливостями.  Apache допускає конфігурування на рівні окремих каталогів за допомогою файлів "htaccess".

htaccess (із крапкою на початку імені) - це конфігураційний файл, який дає можливість налаштовувати роботу сервера: установлювати права доступу до файлів в каталогах, міняти назви індексних файлів, самостійно обробляти коди відповідей протоколу HTTP, модифікувати адреси запитаних сторінок.

request- дивитись приклади переадресації

Файл .htaccess може бути розміщений в будь-якому каталозі !

Директиви цього файлу діють на всі файли в поточному каталозі і у всіх його підкаталогах (якщо ці директиви не перевизначені директивами файлів .htaccess у вкладених каталогах).

Зміни, що вносяться у файли .htaccess, набувають чинності негайно і не вимагають перезавантаження сервера на відміну від змін, що вносяться в головний конфігураційний файл httpd.conf.

Зразок .htaccess:



AddHandler server-parsed .html .htm
AddType text/html .html
Options Indexes FollowSymLinks Includes
 
<FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|php|js|log|sh)$">
 Order Allow,Deny
 Deny from all
 </FilesMatch>
 
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|css|pdf)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
 
php_flag engine  off
 
Options All -Indexes
 
AddOutputFilterByType DEFLATE text/html
 
ErrorDocument 404 /error/404.html
 
ErrorDocument 500 /error/404.html
 
ErrorDocument 403 /error/404.html
 
ErrorDocument 401 /error/404.html
 
DirectoryIndex index.html

Команди htaccess:

Вказуємо головну сторінку в каталозі:

При запиті каталогу без вказівки імені файлу спочатку буде здійснений пошук сторінки з ім'ям index.php. Якщо сторінки з таким ім'ям немає в каталозі, то аналогічні операції будуть зроблені з файлом index.shtml і т.д. до кінця списку, поки не буде знайдена й відкрита відповідна сторінка.


DirectoryIndex index.php index.shtml index.html

Заборона на відображення вмісту каталогу при відсутності індексного файлу


Options –Indexes 

 

3. Прискорення часу завантаження за рахунок стиснення файлів

Стискати можна файли будь-якого типу. Наприклад, для стиснення HTML-файлів додайте код:


AddOutputFilterByType DEFLATE text/html

Для стиснення текстових файлів використовуйте:


AddOutputFilterByType DEFLATE text/plain

Ви також можете стиснути jаvascript або включити стиснення для інших різних типів файлів командами:


AddOutputFilterByType DEFLATE application/jаvascript
AddOutputFilterByType DEFLATE application/rss+xml

Крім того, ви можете стиснути всі ваші jаvascript, HTML і CSS файли за допомогою GZIP. Для цього використовуйте наступний код:



<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text\.*
mod_gzip_item_include mime ^application/x-jаvascript.*
mod_gzip_item_exclude mime ^image\.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>

 

Кешування файлів, для прискорення завантаження браузером:

Ви можете додати більше типів файлів (або видалити деякі з них) в перечісленних в даному прикладі файлів. Ви також можете вказати час збереження файлів в кеші (у секундах) за допомогою змінної max-age.



<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>

2592000 - це 1 місяць, 604800 - це тиждень, 43200 - це день.

Забороняємо кешувати:



<FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>

 

Обробка кодів помилок:

401 помилка - Можливі причини події:

  • Ви помилилися в синтаксисі при введенні логіна-пароля
  • Ви не маєте дозволу для заходу з даного URL
  • Проводитися технічні роботи і даний розділ тимчасово закритий для загального доступу. (Unautorized)

403 помилка - Запит відхилений, оскільки сервер не хоче, не має можливості відповісти клієнту. Можливі причини цього:

  • Якщо ви очікуєте отримати лістинг каталогу, але виводиться ця помилка, ймовірно, для даної директорії видача лістингу заборонена
  • Доступ до даного каталогу і підкаталогам по протоколу http закритий. (Forbidden)

404 помилка - Найбільш часті причини показу цієї сторінки:

  • Сервер не знайшов сторінок - Request-URI не вірний.
  • Документ (каталог, файл) запитуваний вами відсутня, або тимчасово недоступний.
  • Можливо, була допущена помилка при створенні посилання, можливо перегляд запитуваної вами каталогу заборонений в конфігурації сервера, або документ був переміщений або перейменований. (Not Found).

500 помилка - Помилка 500 - apache не може виконати даний запит клієнта. Можливі причини:

  • Критична помилка в роботі програмного забезпечення, наприклад - вашому новому скрипті.
  • Внутрішня помилка - у файлах .htaccess або в конфігураційних файлах каталогу - conf
  • додаток перезапускається
  • сервер перевантажений
  • Сервером дана команда на вимикання (Internal Server Error). 

Створіть свої власні сторінки з помилками:



ErrorDocument 404 https://rullan.in.ua/error/404.html
 
ErrorDocument 500 https://rullan.in.ua/error/500.html
 
ErrorDocument 403 https://rullan.in.ua/error/403.html
 
ErrorDocument 401 https://rullan.in.ua/error/401.html

також можна вказати в htaccess сам текст, що буде відображатись на сторінці помилки:


ErrorDocument 403 "Sorry can't allow you access today, 403 Status Codes Apache"

Виконувати код PHP в файлах HTML

Перший рядок видаляє оброблювач файлів з розширеннями html і htm, а другий рядок повідомляє сервер про необхідність використовувати для файлів з розширеннями htm і html оброблювач PHP 



RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html .phtml

Щоб задати кодування сторінок:


AddDefaultCharset Windows-1251 

Щоб перекодувувати сторінки:


CharsetSourceEnc WINDOWS-1251

 

Перенаправлення:

Глобальне перенаправлення на нову адресу


Redirect / http://www.site.ru/ 

Перенаправлення при зверненні до певного файлу


Redirect / books / index.php http://www.site.ru/newbooks/ 

Перенаправлення при зверненні до будь-якої сторінки каталогу


RedirectMatch / books /. * Http://www.site.ru/newbooks/

Перенаправлення при зверненні до будь-яких сторінок сайту


RedirectMatch /. * Http://www.site.ru/

 

Заборона виконувати файли з переліченими розширеннями:



<FilesMatch ".([Pp][Hh][Pp]|[Cc][Gg][Ii]|[Pp][Ll]|[Ph][Hh][Tt][Mm][Ll]).?">
Order allow,deny
Deny from all
</FilesMatch>

 

Заборона доступу до файлів з ​​браузера.

 

1- При використанні такої директиви буде заборонений доступ з браузера до всіх файлів і каталогів поточного каталогу.

 Deny from all

2- Заборона доступу до певного файлу:

 <Files config.php> Deny from all </ Files>

 

3- Заборона доступу до файлів розширення inc:

 <Files "*.inc"> Deny from all </ Files>

4- Заборона доступу до файлів з ​​декількома типами розширень:

 <Files ~ ".(inc|conf|cfg)$"> Deny from all </ Files>

 

5- Заборонити доступ з певного IP-адреси

 Deny from 195.135.232.70

6- Дозволити доступ тільки з певного IP-адреси:

 Order deny, allow Deny from all Allow from 195.135.232.70

Директива Order дозволяє задати порядок, в якому виконуватимуться директиви.
Спочатку виконується директива заборони доступу (директива Deny),
а потім дозволяється доступ те для IP-Адреси 195.135.232.70 (директива Allow).
Якщо в першому рядку поміняти порядок проходження директив на Order allow, deny,
то доступ для IP-Адреси 195.135.232.70 не буде відкрити,
тому директива Deny, виконувана останньої, перекриє дія директиви Allow.

 

Багато цікавого можна знайти про .htaccess

на москальському сайті - http://www.beget.ru/art9#access

і на Хабрахарі - http://habrahabr.ru/post/165701/

 

 Нехай щастить!

 
 

Розробка сайтів | Створення сайтів

Коментарі

⤹ Залишити свій коментар ⤸

  • Натисніть на зображення, щоб оновити код, якщо він нерозбірливий
Останнє на сайті
  • seo

    Українські каталоги для реєстрації сайту

    coments/13 vievs/ 1
  • faq

    Які існують російські домени?

    coments/14 vievs/ 0
  • seo

    Українська двигун для сайту - Ardilla-CMS

    coments/104 vievs/ 0
Останнє в магазині
Картинка в meta з додаткового поля Картинка в meta з додаткового поля / Платні модулі DLE
Коментарі
Популярне на сайті

Для усіх любителів Анекдотів українською існує чудовий сайт з безліччю приколів, смішних історій та відео: Анекдоти

Тарифні плани

Потужний старт Стандартний запуск сайту від $400
  • - ♜ -
  • В стартовий тарифний план входить:

  • Розробка та налаштування сайту
  • Семантичне ядро
  • Оптимізація швидкості
  • Наповнення до SEO 5 сторінок
  • Ліцензія двигунчика DLE
Просунутий SEO оптимізований сайт від $700
  • - ♚ -
  • В SEO тарифний план входить:

  • Створення та налаштування сайту
  • Семантичне ядро
  • Оптимізація швидкості
  • Наповнення до SEO 10 сторінок
  • Ліцензія двигунчика DLE
  • 5 силок + перелінковка
Імперський винущувач конкурентів від $999
  • - ♛ -
  • В імперський тарифний план входить:

  • Розробка сайту
  • Наповнення до SEO 20 сторінок
  • Повна оптимізація
  • Ліцензія двигунчика DLE
  • МОЄ НАТХНЕННЯ та ДОСВІД!
/* soc-knopki */