Кілька способів настройки файлу .htaccess для оптимізації сайту
Напевно, багато хто чув про цей файл. Файл .htaccess - це серце сервера, на якому розміщується сайт. Саме він відповідає за те, як саме буде реагувати сайт на дії, які будуть здійснюватися відвідувачами. Я трохи копирсався в цьому файлі.
у, а як-то стало цікаво, і я копирсався в .htaccess. Тому сьогодні про настройках .htaccess, за допомогою яких можна трохи оптимізувати сайт. Загалом, про все по порядку.
Ті сніпети, які я нижче приведу, можна вставляти в файл .htaccess. Це файл розташований в кореневій папці веб-сервера Apache.
Увага! Завжди потрібно страхуватися. Якщо щось крутите-мутите, то, чого не сильно знаєте, то завжди бекапьтесь.
Крос-доменна інтеграція шрифтів для Firefox
<Filesmatch "\. (Ttf | otf | eot | woff) $"> <Ifmodule mod_headers.c> Header set Access-Control-Allow-Origin "http://yourdomain.com" </ Ifmodule> </ Filesmatch>
Є такий невеликий косячок у Firefox. Цей браузер не дає можливості інтегрувати шрифти з інших сайтів. Але ця проблема вирішується за допомогою .htaccess
Запуск PHP всередині файлів javascript
AddType application / x-httpd-php .js AddHandler x-httpd-php5 .js <Filesmatch "\. (Js | php) $"> SetHandler application / x-httpd-php </ Filesmatch>
Часто буває, що всередину .js файлів потрібно запхати php. Наприклад, для того щоб можна було отримувати якісь дані з бази даних. Наведений нижче код дозволить вирішити цю проблему.
Ведемо лог PHP-помилок
# Display no errs to user php_flag display_startup_errors off php_flag display_errors off php_flag html_errors off # Log to file php_flag log_errors on php_value error_log /location/to/php_error.log
Часто косяки php можна замінювати прямо на сайті. Проблема вирішується. Можна зробити так, щоб ці помилки записувалися в лог-файл. Тоді звичайні відвідувачі не бачитимуть ці глюки, але зате вам вони будуть відмінно видно.
Налаштування сайту для роботи з html5-відео
RewriteCond% {REQUEST_FILENAME}! -f RewriteCond% {REQUEST_FILENAME}! -d RewriteCond% {REQUEST_URI}! = / Favicon.ico AddType video / ogg .ogv AddType video / ogg .ogg AddType video / mp4 .mp4 AddType video / webm .webm AddType application / x-shockwave-flash swf
Ті функції, які були при старому форматі мови гіпертекстової розмітки, були недосконалі. Це все змогли зрозуміти, коли з'явився html5. Серед численних його функцій є відмінна можливість інтегрувати відео без Flash. Єдине, що потрібно буде правильно зробити настройки сервера, щоб він працював під html5. Ось рішення.
Перенаправлення різних розсилок в один формат
<Ifmodule mod_alias.c> RedirectMatch 301 / feed / (atom | rdf | rss | rss2) /? $ Http://example.com/feed/ RedirectMatch 301 / comments / feed / (atom | rdf | rss | rss2) /? $ Http://example.com/comments/feed/ </ Ifmodule>
Пам'ятайте про формати розсилок типу RSS або Atom? Питань немає, все це потрібно. Але просто незручно, коли вони живуть відособлено. Набагато зручніше, щоб всі формати наводилися в один. Зрозуміло, в RSS. За допомогою даного сниппета це питання можна вирішити. До речі, це особливо актуально, коли мова йде про WordPress.
Дамо відсіч спамерам в WordPress
<Ifmodule mod_rewrite.c> RewriteEngine On RewriteCond% {REQUEST_METHOD} POST RewriteCond% {REQUEST_URI} .wp-comments-post \ .php * RewriteCond% {HTTP_REFERER}!. * Yourdomainname. * [OR] RewriteCond% {HTTP_USER_AGENT} ^ $ RewriteRule (. *) ^ Http: //% {REMOTE_ADDR} / $ [R = 301, L] </ Ifmodule>
Нє, ну з будь-якого зараз все подумаю, що є Akismet. Нафіга ці зайві настройки. Так, Акісмет добре допомагає, але цю ж проблему можна вирішити більш практично, через .htaccess. Проблема вирішується шляхом заборони доступу ботів. Просто забороняється доступ до wp-comments-post.php.
Використання кешу .htaccess для прискорення роботи сайту
# 1 YEAR <Filesmatch "\. (Ico | pdf | flv) $"> Header set Cache-Control "max-age = 29030400, public" </ Filesmatch> # 1 WEEK <Filesmatch "\. (Jpg | jpeg | png | gif | swf) $"> Header set Cache-Control "max-age = 604800, public" </ Filesmatch> # 2 DAYS <Filesmatch "\. (Xml | txt | css | js) $"> Header set Cache-Control "max-age = 172800, proxy-revalidate" </ Filesmatch> # 1 MIN <Filesmatch "\. (Html | htm | php) $"> Header set Cache-Control "max-age = 60, private, proxy-revalidate" </ Filesmatch>
Тут сьогодні в списку багато всяких полезняшек, але, на мій погляд, це найкорисніша з них. За рахунок кешування .htaccess можна добре розігнати свій сайт. На моєму сайті цей варіант показав непоганий результат.
Перенаправлення мобільних пристроїв
RewriteEngine On RewriteCond% {REQUEST_URI}! ^ / M /.*$ RewriteCond% {HTTP_ACCEPT} "text / vnd.wap.wml | application / vnd.wap.xhtml + xml" [NC, OR] RewriteCond% {HTTP_USER_AGENT} "acs | alav | alca | amoi | audi | aste | avan | benq | bird | blac | blaz | brew | cell | cldc | cmd-" [NC, OR] RewriteCond% {HTTP_USER_AGENT} "dang | doco | eric | hipt | inno | ipaq | java | jigs | kddi | keji | leno | lg-c | lg-d | lg-g | lge-" [NC, OR] RewriteCond% {HTTP_USER_AGENT} "maui | maxo | midp | mits | mmef | mobi | mot- | moto | mwbp | nec- | newt | noki | opwv" [NC, OR] RewriteCond% {HTTP_USER_AGENT} "palm | pana | pant | pdxg | phil | play | pluc | port | prox | qtek | qwap | sage | sams | sany" [NC, OR] RewriteCond% {HTTP_USER_AGENT} "sch- | sec- | send | seri | sgh- | shar | sie- | siem | smal | smar | sony | sph- | symb | t-mo" [NC, OR] RewriteCond% {HTTP_USER_AGENT} "teli | tim- | tosh | tsm- | upg1 | upsi | vk-v | voda | w3cs | wap- | wapa | wapi" [NC, OR] RewriteCond% {HTTP_USER_AGENT} "wapp | wapr | webc | winw | winw | xda | xda-" [NC, OR] RewriteCond% {HTTP_USER_AGENT} "up.browser | up.link | windowssce | iemobile | mini | mmp" [NC, OR] RewriteCond% {HTTP_USER_AGENT} "symbian | midp | wap | phone | pocket | mobile | pda | psp" [NC] # ------------- The line below excludes the iPad RewriteCond% {HTTP_USER_AGENT}! ^. * IPad. * $ # ------------- RewriteCond% {HTTP_USER_AGENT}! Macintosh [NC] # * SEE NOTE BELOW RewriteRule ^ (. *) $ / M / [L, R = 302]
Якщо ви пихнув над створенням мобільної версії сайту, то навіщо, щоб користувачі, які приходять на звичайну, лазили там. Їх потрібно перенаправити на мобільну версію.
Коментарі
Коментуючи, пам'ятайте про те, що зміст і тон Вашого повідомлення можуть зачіпати почуття реальних людей, проявляйте повагу та толерантність до своїх співрозмовників навіть у тому випадку, якщо Ви не поділяєте їхню думку, Ваша поведінка за умов свободи висловлювань та анонімності, наданих інтернетом, змінює не тільки віртуальний, але й реальний світ. Всі коменти приховані з індексу, спам контролюється.