- 13, May 2024
- #1
Настройка файла .htaccess Apache (доступ к гипертексту) может стать очень мощным инструментом в веб-разработке, если его правильно использовать.
С помощью .htaccess мы можем выполнять перенаправление, защищать файлы и каталоги паролем, предотвращать хотлинкинг и кражу трафика, сжимать файлы и многое, многое другое.
Обязательно сделайте резервную копию текущего файла .htaccess перед применением любого из этих хаков.
1. Предотвратите хотлинкинг
Вы устали от того, что люди используют вашу пропускную способность, размещая изображения, размещенные на вашем сервере, на вашем веб-сайте? Добавьте следующий код в конец вашего файла .htaccess, чтобы предотвратить хотлинкинг:
Если вам надоел макет страниц ошибок 401, 403, 404, 500 и т. д. по умолчанию, вы можете легко создать свою собственную и ссылаться на нее следующим образом:
Вам надоело постоянно получать одни и те же комментарии от определенных пользователей снова и снова? Он просто запрещает доступ к определенным IP-адресам, добавляя следующий код:
Вы можете изменить частоту кэширования, изменив количество секунд (в данном примере оно задается один раз в сутки):
С помощью .htaccess мы можем выполнять перенаправление, защищать файлы и каталоги паролем, предотвращать хотлинкинг и кражу трафика, сжимать файлы и многое, многое другое.
Обязательно сделайте резервную копию текущего файла .htaccess перед применением любого из этих хаков.
1. Предотвратите хотлинкинг
Вы устали от того, что люди используют вашу пропускную способность, размещая изображения, размещенные на вашем сервере, на вашем веб-сайте? Добавьте следующий код в конец вашего файла .htaccess, чтобы предотвратить хотлинкинг:
FileETag MTime Size
ExpiresActive on
ExpiresDefault "access plus 86400 seconds"
Код (разметка): 2. Блокировать все запросы пользовательского агента.
Можно заблокировать все нежелательные пользовательские агенты, которые могут быть потенциально опасными, или просто снизить нагрузку на сервер.
# Redirect from an old domain to a new one RewriteEngine On RewriteRule ^(.*)$ [URL='https://lumtu.com/yti/bMmmMb21odHRwOi8vbmV3ZG9tYWluLlWY']http://www.newdomain.com/$1[/URL] [R=301,L]
Код (разметка): 3. Перенаправить всех, кроме определенных IP-адресов.
Если по какой-то причине вы хотите запретить доступ всем пользователям или разрешить доступ к вашему сайту только определенной группе IP-адресов, добавьте следующий код в ваш файл .htaccess:
allow from all deny from 145.186.14.122 deny from 124.15
Код (разметка): 4. SEO-дружественные 301 редиректы
Если вы перенесли доменные имена или хотите перенаправить на определенную страницу, не влияя на результаты поисковых систем, таких как Google, используйте следующий код:
ErrorDocument 401 /error/401.php ErrorDocument 403 /error/403.php ErrorDocument 404 /error/404.php ErrorDocument 500 /error/500.php
Код (разметка): 5. Создайте собственную страницу для каждого типа ошибок.
Если вам надоел макет страниц ошибок 401, 403, 404, 500 и т. д. по умолчанию, вы можете легко создать свою собственную и ссылаться на нее следующим образом:
Redirect 301 /d/file.html [URL='https://lumtu.com/yti/b0hh0bWxodHRwOi8vZG9tYWlubmFtZS5jb20vci9maWxlLmlxW']http://www.domainname.com/r/file.html[/URL]
Код (разметка): 6. Создайте список запрещенных IP-адресов.
Вам надоело постоянно получать одни и те же комментарии от определенных пользователей снова и снова? Он просто запрещает доступ к определенным IP-адресам, добавляя следующий код:
ErrorDocument 403 [URL='https://lumtu.com/yti/bj55jb21odHRwOi8vZG9tYWlubmFtZStFm']http://www.domainname.com[/URL] Order deny,allow Deny from all Allow from 124.34.48.165 Allow from 102.54.68.123
Код (разметка): 7. Редирект 301 со старого домена на новый
Включив этот фрагмент в htaccess вашего старого домена, вы сможете написать новый (не подвергаясь штрафам со стороны Google за дублирование контента, поскольку 301 — это предупреждение о «постоянном перенаправлении»):
#Block bad bots 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] Order Allow,Deny Allow from all Deny from env=bad_bot
Код (разметка): 8. Принудительное кэширование
Следующий фрагмент не будет напрямую увеличивать скорость загрузки вашего сайта в целом, но он будет загружаться быстрее, когда тот же пользователь вернется на него, отправив статус 304 при запросе элементов, которые не были изменены.
Вы можете изменить частоту кэширования, изменив количество секунд (в данном примере оно задается один раз в сутки):
Options +FollowSymlinks #Protect against hotlinking RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www.)?domainname.com/ [nc] RewriteRule .*.(gif|jpg|png)$ [URL='https://lumtu.com/yti/bgQQgbmNodHRwOi8vZG9tYWlubmFtZS5jb20vaW1nL2RvX25vdF9zdGVhbF9teV9iYW5kd2l0aC5naWY1Wan']http://domainname.com/img/do_not_steal_my_bandwith.gif[nc[/URL]]
Код (разметка):