1) Ограничение доступа к контенту.
Если вам не нравится, что ваши картинки используется другими сайтами.
1
2
3
4
5
|
Options +FollowSymlinks RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www.)?domainname.com/ [nc] RewriteRule .*.(gif|jpg|png)$ http://domainname.com/img/stop_stealing_bandwidth.gif[nc] |

2) Ограничение доступа по user-agent
Блокируем всех пользователей, которые могут причинить вред серверу.
1
2
3
4
5
6
7
8
9
10
11
12
|
SetEnvIfNoCase user-Agent ^FrontPage [NC,OR] SetEnvIfNoCase user-Agent ^Java.* [NC,OR] SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR] SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR] SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR] SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR] SetEnvIfNoCase user-Agent ^Zeus [NC] < Limit GET POST HEAD> Order Allow,Deny Allow from all Deny from env=bad_bot </ Limit > |
3) Безопасный редирект 301
Чтобы перенаправить посетителя с одной страницы (домена) без ущерба для поисковых роботов.
1 |
Redirect 301 /d/file.html http://www.domainname.com/r/file.html |
4) Своя страница с ошибками
Чтобы перенаправить посетителя на самодельную 404-страницу
1
2
3
4
|
ErrorDocument 401 /error/401.php ErrorDocument 403 /error/403.php ErrorDocument 404 /error/404.php ErrorDocument 500 /error/500.php |
5) Защита файлов
Чтобы защитить ваши файлы от просмотра, используется следующий код:
1
2
3
4
|
< Files .htaccess> order allow,deny deny from all </ Files > |
На этом примере показано, как защитить .htaccess. При попытке просмотра посетитель попадает на страницу 403
6) Перенос на новый домен
Перенаправляем пользователя на новый домен:
1
2
|
RewriteEngine On RewriteRule ^(.*)$ http://www.domainname.com/ [R=301,L] |
7) Кеширование
Код кеширует посещённые страницы, снижая время загрузки. 86400 — количество секунд, меняйте на своё усмотрение.
1
2
3
|
FileETag MTime Size ExpiresActive on ExpiresDefault "access plus 86400 seconds" |
8) Gzip-сжатие
Используйте Gzip , чтобы ваш сайт грузился быстрее.
1
2
3
4
|
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 |
9) Убрать папку из URL
Чтобы http://yoursite.com/folder/one изменить на hhttp://yoursite.com/one, добавьте строчку в ваш .htaccess.
1 | RewriteRule ^folder/(.+)$ http://www.yourdomain.com/ [R=301,L] |
10) Запрет просмотра папок
Чтобы запретить просмотр папок вашего сайта , используйте код ниже. Чтобы открыть доступ, замените минус на плюс.
1 | Options All -Indexes |
11) Редирект WordPress-RSS на FeedBurner
Перенаправляем RSS на FeedBurner.
1
2
3
4
5
6
|
< IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC] RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC] RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/yourfeed [R=302,NC,L] </ IfModule > |
12) Защита от спам-ботов
Для пользователей WordPress. При добавлении комментария сервер сравнивает заголовок Referer с «wp-comments-post.php». Если он не совпадает, комментарий не добавится.
1
2
3
4
5
6
|
RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post.php* RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L] |
13) Удалить расширение файла из URL
Удаляем расширение .php с конца адреса страницы.
1 | RewriteRule ^(([^/]+/)*[^.]+)$ /.php [L] |
14) Заменить расширение файла
Меняем php на html
1
2
3
|
RewriteEngine on RewriteBase / RewriteRule ^(.*).html$ $1.php [L] |
NC — no case — не различать в урлах прописные и строчные буквы
L — last — после этой директивы дальнейший анализ директив RewriteRule останавливается и прочие директивы не исполняются
15) Меняем адрес на более комфортный
Например, product.php?id=12 на product-12.html
1
2
|
RewriteEngine on RewriteRule ^product-([0-9]+).html$ product.php?id=$1 |
16) Оптимизируем адрес для поисковиков
Наиболее удобным для поисков будет порменять product.php?id=12 на product/ipod-nano/12.html . Данный код отображает адрес с главным ключевым словом.
1
2
|
RewriteEngine on RewriteRule ^product/([a-zA-Z0-9_-]+)/([0-9]+).html$ product.php?id=$2 |
БОНУС
17) Как сделать редирект всех возможных вариантов набора адреса страницы на одну и ту же? Например, нам надо, чтобы страницы
http://www.site.com
http://site.com
http://www.site.com/index.html
http://site.com/index.html
все директились на одну и ту же на http://www.site.com, тогда необходимо прописать:
1
2
3
4
5
6
|
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^site.com RewriteRule (.*) http://www.site.com/$1 [R=301,L] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.html HTTP/ RewriteRule ^index.html$ http://www.site.com/ [R=301,L] |
18) как превратить www-адрес в не-www-адрес?
www.site.com превращаем в site.com
1
2
3
4
|
RewriteEngine on Options +FollowSymLinks RewriteCond %{HTTP_HOST} ^www.site.com$ [NC] RewriteRule ^(.*)$ http://site.com/$1 [R=301,L] |