. Htaccess: Поради та основні помилки.
З усіх елементів веб дизайну та кодування, htaccess - один з найбільш страшних. Як би там не було, це - неймовірно сильний інструмент, у якого є потенціал, але він також може повністю зламати Ваш сайт, якщо Ви допустите помилку.
Нижче дюжина підказок, які допоможуть Вам використовувати htaccess у своїх корисливих благих цілях. Вони не такі страшні, як багато хто припускає, і якщо Ви витратите на вивчення хоча б кілька хвилин, я впевнений, що Ви швидко схопіть, як вони працюють і чому.
Після підказок поговоримо про 8 найбільш поширених помилках. Що ж, почнемо?
12 Основних прийомів. htaccess:
1. Створіть власну сторінку помилок.
. htaccess на Apache сервері Linux полегшує створювати Ваші власні сторінки помилок. Просто створіть свої власні сторінки помилок і додайте цей код в свій . Htaccess файл:
ErrorDocument 401/401.php ErrorDocument 403/403.php ErrorDocument 404/404.php ErrorDocument 500/500.php
(Ви повинні замінити "/ 500.php" і інші на шлях до цих файлів на Вашому сервері.)
2. Запобігання перегляду директорій.
Якщо ви не включаєте файл індексу в директорії, відвідувачі можуть безпосередньо переглянути вміст директорії .
Цього можна уникнути додаванням одного рядка в файл . htaccess Вашого сайту.
Options All-Indexes
3. Встановіть сторінку за замовчуванням для всіх каталогів.
Якщо Ви не хочете використовувати сторінку індексу в кожній директорії, Ви можете встановити сторінку за замовчуванням , відвідувану, коли йде звернення до папки, додавши це:
DirectoryIndex news.html
(Ви повинні замінити "news.html" на те, що хочете використовувати за умовчанням.)
4. Налаштуйте 301, редирект.
Якщо ви зміните структуру свого сайту і повинні будете переадресувати деякі старі URL, то наступний уривок коду зробить це за Вас:
Redirect 301/original/filename.html http://domain.com/updated/filename.html
/ original/filename.html - старе місце розташування (що приймається адресу)
http://domain.com/updated/filename.html - нове місце розташування (редирект).
5. Стиснення файлів з GZIP.
Ви можете додати наступний код до свого htaccess файлу, щоб стиснути всі Ваші JavaScript, CSS і файли HTML, використовуючи GZIP .
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-javascript .* mod_gzip_item_exclude mime ^ image .* mod_gzip_item_exclude rspheader ^ Content-Encoding: gzip .* .*
6. Редірект до безпечного https - з'єднанню
Якщо ви хочете переадресувати свій сайт до безпечного https з'єднанню , використовуйте наступне:
RewriteEngine On RewriteCond% {HTTPS}! On RewriteRule (.*) https ://%{ HTTP_HOST}% {REQUEST_URI}
7. Блокування виконання скриптів.
Ви можете зупинити виконання скриптів на певних мовах, використовуючи наступне:
Options-ExecCGI AddHandler cgi-script. Pl. Py. Php. Jsp. htm. shtml. sh. asp. cgi
Просто змініть назви мов на ті, які необхідно зупинити.
8. Примусьте користувачів завантажувати файли.
Якщо ви хочете, щоб відвідувачі сайту завантажували фали, замість того, щоб відкривати їх у браузері, використовуйте цей код:
AddType application/octet-stream. Doc. Mov. Avi. Pdf. Xls. Mp4
Вказуйте тільки ті розширення файлів, на які має поширюватися дане правило.
9. Встановіть обмеження для завантаження файлів.
Ви можете обмежити розмір завантажуваних файлів, час завантаження, додавши ці рядки:
php_value upload_max_filesize 10M php_value post_max_size 10M php_value max_execution_time 200 php_value max_input_time 200
Перший рядок для обмеження розміру фалів для завантаження;
Другий рядок визначає максимальний розмір для $ _POST даних ;
Третій рядок - максимальний час у секундах, який може працювати скрипт;
Четверта - максимальна кількість часу в секундах, який скрипт може обробляти вхідні дані.
10. Увімкніть кешування файлів.
Кешування файлів може значно прискорити роботу Вашого сайту . Використовуйте наступний код, щоб налаштувати кешування (змінюючи типи файлів і тимчасові значення, оптимізуйте його під потреби Вашого сайту):
# Кешувати html і htm файли на один день Header set Cache-Control "max-age = 43200" # Кешувати css, javascript і текстові файли на один тиждень Header set Cache-Control "max-age = 604800" # Кешувати флеш і зображення на місяць Header set Cache-Control "max-age = 2592000" # Відключити кешування Header unset Cache-Control
(Час для max-age в секундах.)
11. Захистіть свій сайт від "hotlinking".
Доставте незручності тим, хто краде Ваш контент. Зробіть так, щоб вони не показували зображення, прийняті з Вашого сервера на своїх сторінках. Ось спосіб заблокувати hotlinking в htaccess
RewriteEngine On RewriteCond% {HTTP_REFERER}! ^ $ RewriteCond% {HTTP_REFERER}! ^ Http:// ([-a-z0-9] .)? Domain . Com [NC] RewriteRule . (Gif | jpe? G | png) $ - [F, NC, L]
(Не забудьте замінити "domain . com" на свої значення)
12. Замаскуйте свої типи файлів.
Ви можете замаскувати всі свої типи файлів, змушуючи їх виглядати як файли PHP . Тільки вставте цей уривок у htaccess
ForceType application/x-httpd-php
8 Рад з використання htaccess.
- Будьте обережні при написанні, . htaccess не прощає орфографічних помилок.
-
Синтаксис файлу. htaccess чутливий до регістру. Якщо щось написано в прикладах з великої літери, переконайтеся, що також воно виглядає і в вашому htaccess файлі.
- Оптимізуйте налаштування кешування. Якщо ваш сайт майже повністю статичний, ви можете встановити в рази більший час кешування. Якщо ж ваш сайт щодня оновлюється, переконайтеся, що користувачі просматріваютобновленние сторінки, а не кешовані.
- Не забувайте коментувати свій htaccess файл. Це можна зробити, додавши # на початку рядка коментаря.
- Завжди тестуйте ваш сайт відразу ж після внесення будь-яких змін у ваш htaccess файл. Одна помилка може покласти Ваш сайт, і Вам доведеться витратити багато часу на виправлення помилок.
- Завжди робіть backup (резервні копіювання) Ваших htaccess файлів перед внесенням будь-яких змін. Таким чином, якщо виникнуть проблеми, Ви зможете легко відновити старий файл.
- Деякі методи не кросбраузерну!
- Пам'ятайте, захищаючи каталог з htaccess , що, якщо він не обмежений https доступом, пароль міг засвітитися (оскільки Ваші дані аутентифікації будуть передані за небезпечною зв'язку).
Схожі статті
Опубліковано: 28/02/11 @ 04:02
Розділ Різне
Рекомендуємо:
Щасливий фермер. Злом щасливого фермера
Ненавиджу IE! Ненавиджу Joomla! Ненавиджу Virtuemart!
AJAX - upload файлів.
SQLite і PHP. Альтернатива MySQL
Боротьба зі спамом. Використання PHP і reCAPTCHA