шпаргалка по

Для тестування регулярних виразів можна скористатися www.regex101.com

Order allow, deny
AuthType Basic
AuthUserFile /var/www/html/.htpasswd
AuthGroupFile / dev / null
AuthName "Enter username / password"
Require valid-user
Satisfy any
Deny from all

можна використовувати одне з умов RewriteCond.

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

RewriteEngine On
#Replace? Mysite \ .com / with your blog url
RewriteCond%! (. *)? Your-site \ .com (. *) [NC]
# Не забуваємо виключити трафік з пошукових машин
RewriteCond%! (. *) (Google | bing | yandex | ask.com | duckduckgo | yahoo | lycos | dogpile | search) (. *) [NC]
RewriteCond%! ^ $
#Replace /images/nohotlink.jpg with your "do not hotlink" image url
RewriteRule. * \. (Jpe? G | gif | bmp | png | другіе_тіпи_файлов) $ /images/nohotlink.jpg [L]

Можна настворювала різних файлів (jpg / txt / html) з повідомленням: "Я краду чужий контент", і додати RewriteRule'ов для кожного типу файлів.

6. Заблокувати відвідувачів, які прийшли з певного домену рядками в .htaccess:

RewriteEngine on
RewriteCond% bannedurl1.com [NC, OR]
RewriteCond% bannedurl2.com [NC, OR]
RewriteRule. * - [F]

7. Призначити нестандартні сторінки помилок .htaccess:

ErrorDocument 400 /error/HTTP_BAD_REQUEST.html
ErrorDocument 404 /error/HTTP_NOT_FOUND.html
ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html
ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html

8. Сховати розширення файлів через .htaccess:
Ця інформація може бути корисна хіба що Вам і розробникам. Звичайним смертним нема чого бачити розширення файлів на вашому сайті:

RewriteEngine on
RewriteCond%! -d
RewriteCond% \ .custom_ext -f
RewriteRule ^ (. *) $ $ 1.custom_ext

custom_ext можна замінити на що завгодно.

#Off:
Options -Indexes

#On:
Options + Indexes

До речі, такі опції як ExecCgi і FollowSymLinks теж можна включати в .htaccess. відповідно:

#On:
Options Indexes ExecCgi FollowSymLinks

10. Стиснення файлів .htaccess:

11. Поставити кодування для певних файлів використовуючи .htaccess:


AddDefaultCharset UTF-8

12. Кешування файлів на стороні клієнта:
Ваші відвідувачам не за ніж кожен раз запитувати весь медіа контент при переході по сторінках Вашого сайту. Цей контент можна зберігати на стороні клієнта у тимчасовому сховищі. Змусити браузери Ваших відвідувачів тримати ці файли можна наступною конструкцією в .htaccess:

max-age вказується в секундах.

13. Заборонити доступ для певних браузерів (UserAgents)
Подивилися логи доступу до сайту і побачили дивний наплив запитів з використанням якогось незрозумілого UserAgent'а. Будьте впевнені вас Парс, грабують або тупо кладуть сайт, збільшуючи навантаження. Можна заборонити доступ до сайту виходячи з інформації про UserAgent:

RewriteEngine On
RewriteBase /
SetEnvIfNoCase Referer "^ $" bad_user
SetEnvIfNoCase User-Agent "^ badbot1" bad_user
SetEnvIfNoCase User-Agent "^ badbot2" bad_user
SetEnvIfNoCase User-Agent "^ badbot3" bad_user

Order allow, deny
Deny from env = bad_user

14. Примусова завантаження файлів.
У моїх нотатках давно була ця запис і одного разу в нагоді, коли потрібно було зробити так що б сайт пропонував завантажити pdf файли замість того, що б відкривати їх за допомогою pdf плагіна браузера:


ForceType application / octet-stream
Header set Content-Disposition attachment


ForceType application / octet-stream
Header set Content-Disposition attachment

15. Примусова завантаження файлів в залежності від браузера:
На додаток до пункту №7, мені потрібно було змусити сайт пропонувати завантажувати pdf файл, якщо клієнт використовує InternetExplorer:


BrowserMatch ". * MSIE. *" Ie
Header set Content-Disposition attachment env = ie

17. Так само в .htaccess можна включити окремий css для відвідувачів використовують InternetExplorer:

BrowserMatch ". * MSIE. *" Ie
RewriteCond% = 1
RewriteRule ^. * Default_style.css $ /path_to_folder/style_for_ie.css [L]

18. Обробка файлів складаються з англійських (не росіян) символів

RewriteEngine On
RewriteCond% -f
RewriteCond% ^ /? (. *) / ([A-zA-Z]) + \. (Gif | jpeg | jpg | png) $
RewriteRule ^ (. *) $ /куда-то_там.php [QSA, NC]

19. Використання X-Forwarded-For:

RewriteEngine On
RewriteCond%! 100 \ .100 \ .100 \ .100 [NC]
RewriteRule ^ (. *) $ /some_page.html [R = 302, L]

20. Робимо браузери нечутливими до регістру в іменах файлів:

RewriteRule [A-Z] - [E = HASCAPS: TRUE, S = 1]

RewriteRule! [A-Z] - [S = 28]

RewriteRule [A-Z] - [N]

RewriteEngine On
RewriteCond% ^ 12 \ .34 \ .56 \ .78 $
RewriteRule. * - [F]

22. Створення довільного заголовка

Header add TimeTaken "It took. Ms to serve this request"
Header add ServerName% e
Header add ServerAddr% e

В Ubuntu не забудьте включити mod_headers інакше фокус не вийде, а сайт ляже з 500-ї помилкою:

sudo a2enmod headers

23. Використання QUERY_STRING
Це заслуговує на окрему увагу. Іноді буває потрібно налаштувати редирект для наступної сторінки:

Очевидним є загнати все, після імені домену в%. але таке правило не спрацює. Голову зламав сьогодні, поки дійшло, що після. починається%

RewriteEngine On
RewriteCond% ^ / somescript.php $
RewriteCond% ^ \ var1 = (. *) \ Var2 = (. *)
RewriteRule ^ (. *) $ /% 1 /% 2 [R, L]

Зверніть увагу, що для позначення значень (val1 і val2) використовуються% 1 і% 2 (а не $ 1 і $ 2).

(Visited 819 times, 1 visits today)

Схожі статті