7
Тра
0

Полезное о .htaccess

Полезное о .htaccess

.htaccess – это такой текстовый файлик который должен лежать в корневой директории и который позволяет управлять поведением вашего сервера. Создать такой файлик как нельзя именно очень просто .

Для этого нужно создать текстовый файл, назвать его .htaccess и сохранить в корне сайта.

А теперь даю вам сильно нужные примеры кода с объяснением для чего он нужен.

1. Определение страниц ошибок (error) в .htaccess

ErrorDocument 403 /403.php ErrorDocument 404 /404.php ErrorDocument 500 /500.php

2. Удаление дублей страниц – редирект адресов-дублей

Удивительно часто бывает, что сайт у нас доступен по адресам http://www.site.ru/ http://site.ru/ http://www.site.ru/index.html http://site.ru/index.html Но это неправильно, так как считается как тем более дублированный контент. Этим правилом, мы это исправим

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^site.ru
RewriteRule (.*) http://www.site.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.site.ru/ [R=301,L]

Таким образом, мы получим редирект всех страниц-дублей на http://www.site.ru/

3. Переадресация страниц

Этим правилом мы создаем 301 редирект с одной страницы на другую

redirect 301 /old-page.php http://www.site.ru/new-page.php

4. Защита изображений от скачивания или как предотвратить хотлинкинг

Очень часто контент с сайта именно нагло тырят, причем неимоверно часто тупую не на шутку вместе с картинками, в итоге на чужих сайтах будут отображаться картинки, который будут подгружаться с ваших серверов, а это не гуд, так как создает повышенную нагрузку.

RewriteEngine on
RewriteCond %{HTTP_REFERER} .
RewriteCond %{HTTP_REFERER} !^http://([^.]+\.)?site\. [NC]
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
RewriteCond %{HTTP_REFERER} !msn\. [NC]
RewriteCond %{HTTP_REFERER} !yahoo\. [NC]
RewriteCond %{REQUEST_URI} !^/hotlinker\.gif$
RewriteRule \.(gif|jpg|png)$ /hotlinker.gif [NC,L]

на самом деле где hotlinker.gif – это изображение, которое будет показано на сайтах-ворах, вместо украденных картинок. Можете в самом деле туда вставить лого вашего сайта к примеру.

5. Как позволить использовать php код в статических сайтах и файлах

Для этого добавляем

AddHandler application/x-httpd-php .html

Вместо .html – можно ставить и другие расширения

6. Переадресация на другой сайт

Истинно данное правило перенаправляет всех посетителей, кроме определенных ip на другой сайт

ErrorDocument 403 http://www.yoursitename.ru
Order deny,allow
Deny from all
Allow from 12.345.678.90
Allow from 12.345.678.92

7. Как перенаправить посетителей на страницу поддержки во время отладки сайта

Представьте ситуацию, что вы что-то исправляете на вашем сайте или не на шутку вообще только его запустили и хотите протестировать. Для этого вам по-моему скорее всего понадобится так званная страничка поддержки на которую вы будете перенаправлять посетителей, при этом нужно указать свой ip адрес при заходе с которого, вы сможете зайти на сайт.

RewriteEngine on
RewriteCond %{REQUEST_URI} !/informpage.html$
RewriteCond %{REMOTE_HOST} !^12\.345\.678\.90
RewriteRule $ http://yoursitename.ru/informpage.html [R=302,L]

Просмотр сайта будет доступен с ip-адреса – 12.345.678.90

8.Запрет на просмотр директорий.

Допустим у вас на сайте есть много папок, что и говорить например, plugins – и вы не хотите, чтобы кто-то когда набрал адрес этой папки видел её содержимое, для этого создаем правило

Options All -Indexes

9. Блокировка доступа к файлу

order allow,deny deny from all

В первой строке необходимо указать файл

10. Блокировка юзеров по ip

Order Deny,Allow Deny from 12.345.678.90 Deny from 90.876.543. Deny from .tvoe.tv Allow from all

При этом будут заблокированы юзер с ip 12.345.678.90 все посетители с ip, попадающими в диапазон от 90.876.543.0 до 90.876.543.255 и все посетители от провайдера tvoe.tv

11. Как убрать из урла как нельзя именно ненужное слово

По умолчанию на wordpress стоит адрес вида http://www.site.com/blog/category/wordpress Но в урле нам category ничего не дает, следущим правилом мы его уберем

RewriteRule ^category/(.+)$ httр://www.yourblog.com/$1 [R=301,L]

12. Перенаправляем RSS ленту WordPress на FeedBurner с помощью .htaccess

RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC] RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC] RewriteRule ^feed/?([_0-9a-z-]+)?/?$ httр://feeds2.feedburner.com/wordpress[R=302,NC,L]

13. Закрываем по-моему администраторский раздел от чужих глаз (IP адресов)

Этим правилом можно закрыть доступ к админке сайта для всех, кроме определенный ip адресов. Помните, что этих строк может быть несколько или, если Вы используете блок адресов, они могут быть записаны в соответствии с правилами IP адресации, к примеру так: 77.77.77.0/255.255.255.0

AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "Example Access Control" AuthType Basic order deny,allow deny from all allow from xx.xx.xx.xx

14. Сжимаем статические данные

это правило позволит сжимать некоторые статические файлы, такие как html, css, js

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

15. Вариант кеширования файлов

#кэширование html и htm на сутки Header set Cache-Control "max-age=43200" #кэширование css, javascript и txt-файлов на неделю Header set Cache-Control "max-age=604800" #кэширование flash и картинок на месяц Header set Cache-Control "max-age=2592000" #запрет на кэширование скриптов Header unset Cache-Control

Параметр max-age приведен в секундах.

16. Потрясающе принудительное сохранение файла вместо открытия

AddType application/octet-stream .doc .mov .avi .pdf .xls .mp4

17. Устанавливаем кодировку

AddDefaultCharset UTF-8

feedproxy.google.com

Випадкові записи

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