Помогите нашему проекту

.htaccess - полезные примеры для сайта

.HTACCESS - Полезные примеры для сайта .HTACCESS - Полезные примеры для сайта

В этой статье собраны полезные примеры кода в файле .htaccess для оптимизации сайта и реализации таких задач как блокирование доступа к файлу, защита паролем папки или сайта, бан по IP или сети, редиректы, gzip сжатие, кэширование и т.д и т.п.

.htaccess — файл дополнительной конфигурации веб-сервера Apache, и подобных серверов. Позволяет задавать большое количество параметров для работы веб-сервера в отдельных каталогах или по всему сайту в целом.

Защита паролем папки/сайта

Для этого понадобится два файла, файл .htaccess кладем в папку, которую нужно защитить паролем и прописать в нем код:

AuthType Basic
AuthName "Password Protected Area"
AuthUserFile /path/to/.htpasswd
Require valid-user

В файле, который указан в коде - "/path/to/.htpasswd", прописываем логин/пароль:

testuser:Passwordofuser

Блокируем доступ к файлу через htaccess

Если вам нужно заблокировать доступ к какому-либо файлу, например файл xmlrpc.php, который часто используют для взлома wordpress-сайтов, то пропишите в .htaccess следующий код:

# Protect Files
<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>

Или вот так, если нужно заблокировать файлы в подпапке:

RedirectMatch 403 ^.*/wp-login.php$

Или вот так:

RewriteRule ^.*/wp-login\.php$ - [F,L]

Имейте в виду, если у вас используется nginx, то правила в htaccess не влияют на статические файлы, которые nginx обрабатывает.

Запрет POST запросов

Запретить POST запросы к URL с wp-login.php:

#Запрет POST запросов к wp-login кроме IP 33.33.33.222
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REMOTE_ADDR} !^33\.33\.33\.222$
RewriteCond %{REQUEST_URI} ^/wp-login\.php$
RewriteRule .? - [F]

Злоумышленники любят в своих атаках использовать Post запросы.

Можно защититься от спамеров и ботов более хитрым способом: они часто не используют заголовки HTTP_REFERER и HTTP_USER_AGENT, в отличии от обычных браузеров, а значит можно запретить все POST запросы где в HTTP_REFERER не указан ваш сайт или же нет HTTP_USER_AGENT, пишем код в файл htaccess:

# Stop spam attack logins and comments
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .(wp-comments-post|wp-login)\.php*
RewriteCond %{HTTP_REFERER} !.*example.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) - [F,L]
</ifModule>

Бан по IP или сети при помощи htaccess

# бан по ip
order allow,deny
deny from 131.254.150.26
deny from 54.172.19.226
deny from 10.0.0.0/24
allow from all

Переадресация для wordpress сайта с http на https

Благодаря этому коду в файле .htaccess я смог настроить на своем wordpress сайте (в режиме мультисайта) переадресацию с http на https:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
#for SSL
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule ^(.*) https://it-world24.ru/$1 [L,R=301]

Включение HSTS

Строгая транспортная безопасность HTTP (HSTS) — это механизм политики веб-безопасности, с помощью которого веб-сервер указывает, что он поддерживает подключения только по протоколу HTTPS. Для включения HSTS пропишите в файле .htaccess код:

<IfModule mod_headers.c>
# this domain should only be contacted in HTTPS for the next 12 months
Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
</IfModule>

Запрещаем отображать сайт в iframe

Может возникнуть ситуация когда какие-либо сайты начинают отображать контент вашего сайта во frame-блоках, цели могут быть разные: мошенничество, clickjacking, воровство вычислительных ресурсов (чтобы не нагружать свой сервер) или просто воровство контента. Защититься можно от этого при помощи вот такого кода в файле htaccess:

<IfModule mod_headers.c>
Header always append X-Frame-Options SAMEORIGIN
</IfModule>

Если эта защита не сработает, значит модуль mod_headers на хостинге не включен.

Редирект стандартной ленты WordPress на Feedburner

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^themes/feed/?([_0-9a-z-]+)?/?$ http://feeds2.feedburner.com/elims [R=302,NC,L]
</IfModule>

301 redirect в htaccess между страницами

Тут все просто:

Redirect 301 /index.php http://site.ru/
Redirect 301 /folder /folder2/folder3
htaccess и 301 редирект с WWW на без WWW

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.sait\.ru$ [NC]
RewriteRule ^(.*)$ http://sait.ru/$1 [R=301,L]

301 редирект с одного домена на другой

Если сайт изменил свой домен и не хочется потерять вес страниц, то замените содержимое .htaccess (файл находится в корне папки старого домена), на следующее (вместо new-site.ua укажите новый домен):

<FilesMatch "robots.txt$">
RewriteEngine off
</FilesMatch>
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://new-site.ua/$1 [R=301,L]

Увеличиваем количество выделяемой ОЗУ

Бывает можно встретить вот такую ошибку:

Fatal error: Allowed memory size of 41943040 bytes exhausted (tried to allocate 72 bytes) in

Она говорит о том, что CMS не хватает выделенной под нее оперативной памяти.

Один из способов увеличения объема выделенной оперативной памяти - через файл .htaccess, пишем в нем:

php_value memory_limit 64M

Если не помогло, значит хостинг запретил изменять php параметры через htaccess

Включаем GZip сжатие

Вот такой код для файла htaccess рекомендует WordPress.org:

<IfModule mod_deflate.c>
# Insert filters
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE image/svg+xml

# Drop problematic browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule>

Или почти такой же код рекомендует известный сайт gtmetrix.com:

<IfModule mod_deflate.c>
# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml

# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
</IfModule>

Кэширование статического контента в браузере

Следующий пример для htaccess использует расширение mod_expires и включает кеширование всего контента кроме некоторых форматов файлов:

FileETag MTime Size
ExpiresActive On
ExpiresDefault "access plus 10 years"
<FilesMatch \.(html|xhtml|xml|shtml|phtml|php)$>
ExpiresActive Off
</FilesMatch>

Или наоборот кэшируем лишь определенные форматы:

FileETag MTime Size
<ifmodule mod_expires.c>
<filesmatch ".(jpg|jpeg|gif|png|ico|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 1 month"
</filesmatch>
</ifmodule>

Вот еще пример кода:

ExpiresActive On
ExpiresDefault A0

# 1 YEAR
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
ExpiresDefault A29030400
</FilesMatch>
# 1 WEEK
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
ExpiresDefault A604800
</FilesMatch>
# 3 HOUR
<FilesMatch "\.(txt|xml|js|css)$">
ExpiresDefault A10800"
</FilesMatch>

Следующие директивы, как альтернатива предыдущему методу, используют расширение Apache под названием mod_header и регламентируют, как клиент будет хранить файлы в кэше, каждая директива говорит клиенту хранить типы файлов в течении разного интервала времени:

# 1 YEAR
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
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>
# 3 HOUR
<FilesMatch "\.(txt|xml|js|css)$">
Header set Cache-Control "max-age=10800"
</FilesMatch>
# NEVER CACHE
<FilesMatch "\.(html|htm|php|cgi|pl)$">
Header set Cache-Control "max-age=0, private, no-store, no-cache, must-revalidate"
</FilesMatch>

Если часть CSS и JS-файлов, изображений создаются динамически, например изображения предпросмотра и ряд стилей могут создаваться при помощи PHP на лету, то выручит вот такой код:

ExpiresActive On
ExpiresByType text/css A315360000

Закрываем индексацию через .htaccess

Например закрываем индексацию изображений:

<FilesMatch "\.(gif|jpe?g|png)$">
Header set X-Robots-Tag "noindex"
</FilesMatch>

Добавление или удаление слэша в конце url

Добавляем слеш в конце url

Если нужно редиректить например с адреса http://it-world24.ru/test на адрес http://it-world24.ru/test/, то используйте следующий код:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

Удаляем слеш в конце url

Если нужно редиректить например с адреса http://it-world24.ru/test/ на адрес http://it-world24.ru/test, то используйте следующий код:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)(/)$ $1 [L,R=301]

Отключение вывода ошибок php

Если не скрывать вывод ошибок php, то сайт становится подтвержденным уязвимости "Full Path Disclosure", ее суть заключается в том, что благодаря ошибкам можно узнать полный путь к файлам вызывающим эти ошибки, то есть узнать структуру папок на хостинге, чтобы этого не было в htaccess можно отключить вывод php ошибок:

php_flag display_errors off

если же это вызвало ошибку "internal server error", то удалить эту строку и отключить вывод ошибок в файле "php.ini" при помощи строки:

display_errors = 'off'

Или отключите в админке хостинга, например на моем Хостинг Украина это отключается через админку.

7349 комментарии

  • Faica
    Faica 25.09.2021 10:06 Комментировать

    Лучше поздно, чем никогда. тут

  • CaxTaugh
    CaxTaugh 25.09.2021 08:06 Комментировать

    stromectol

  • DouglasFoolf
    DouglasFoolf 25.09.2021 06:21 Комментировать

    С Целью каждого трейдера первоначальный стадия работы – данное отбор добропорядочного также добросовестного брокера. Фирма EXCBC непосредственно такой также считается. Непосредственно со ней каждой торговец, в том числе и безусловный начинающий, способен полагаться в приобретение прибыли.
    [url=https://www.rabota-zarabotok.ru/2021/08/excbc.com-otzyvy-moshenniki-obzor-brenda-excbc.html]EXCBC Обзор[/url]
    [url=https://forum-info.ru/topic/758-excbc-otzyvy-obzor-sayta-excbccom/]EXCBC отзывы[/url]

  • Craigprome
    Craigprome 25.09.2021 00:23 Комментировать

    https://happy-ending.manhattan-massage.com/ - happy ending for women nyc
    Wish you feel memorable emotions ? Tired of work ? How about to have a rest and massage ? We invite you to visit massage salon in West Village.

    Where can be ordered Thai massage in salons Midwood.

    Massage periosteal performed masseurs
    , their possibly meet by coming to our club . Girls are attractive slim figures and appearance . You always have the opportunity experience for yourself aesthetic satisfaction, just looking at them.

    Our salon works around the clock .
    Running massage Thai without intimate actions , what make it safe. Spa in Clinton Hill comply with rules hygiene , use disposable personal items .In the cabin vibration massage you acquire not so much massage but also opportunity relax to body and to soul.
    Also our staff store your personal privacy: on the matter what way in particular you prefer to spend free time, not will know no person.
    Massage in spa Windsor Terrace possibly attend people from 21 years. By calling to the salon by phone, you can sign up for necessary day and time . Spa Salon with great pleasure will welcome you.

  • Doloreshex
  • Jumasmoito
    Jumasmoito 24.09.2021 20:05 Комментировать

    Автоматизированная система склика GoogleWalker способная списать бюджеты самых лидирующих конкурентов и и в дальнейшем выбить их из рекламы!
    Уничтожение 99%+ бюджета конкурентов! В течение пару месяцев 90% конкурентов покидают «Google Ads», за счет чего цена на клики снижается в разы!
    Наша компания занимается поиском своих клиентов для сотрудничества в самых конкурентных областях интернет-бизнеса, мы ставим целью найти по одному клиенту в каждой области для совместной борьбы с конкурентами и освобождения излишков контекстно-рекламного бюджета.
    Тест на 2 часа
    подробности на сайте https://googlewalker.com
    Покупка и тестирование программы только через телеграм @googlewalker (чтобы не попастьна фейки, перейдите по ссылке https://t.me/googlewalker)

  • Olechkavus
    Olechkavus 24.09.2021 14:50 Комментировать

    Когда мы с вами слышим о живущей интим отрасли, поневоле думается, что это что-то отвратительное и недостойное для типичного человека. Какие условия направляют женщин всткпать в ряды иедивидуалок, сколько получают элитные шлюхи Столицы, там где женщины выискивают заказчиков - читаем дальше.
    [b]Причины, оказывающие большое влияние на выбор в пользу секса за деньги[/b]
    Молодые особы мечтают иметь все блага сразу же и в наилучшем виде. Однако в какой срок сладкие мечты очень быстро рушатся о страшную реальность, студентки и просто молодые симпатичные дамы избирают путь путаны. Некоторые женщины попадают в тяжелые жизненные ситуации, бывает увольняют с работы или нужны огромные средства на лечение родного человека. Малообеспеченный дамы идут в девочки легкого поведения, желая освободиться от проблем с деньгами. Внутренний конфликт в подобных случаях является кратковременным, в равной мере как и ощущенье вины, что работать требуется совершенно не по зову души.
    [b]Превращение панели из условных кустов до роскошных апартаментов[/b]
    Выходить на панель, то есть стоять у обочины дороги и недвусмысленно предлагать себя проезжающим мимо дядькам, уже давным давно в прошлом. Разве что дешевые проститутки по старинке все также ищут свой "хлеб". Сейчас существует довольно много методов продать собственное отличительное тело без дополнительных хлопот и сторонней помощи:
    - Дамы работают исключительно на себя, регистрируясь на специальных сайтах, где пользуються спросом [url=https://prostitutki-intim.net/proverennye] проверенные проститутки[/url] ;
    - Дамы вначале выступают в статусе эксортниц или массажисток, но за лишнее вознаграждение предоставляют интимные услуги;
    - Чтобы не входить в прямой физический контакт с мужчинами, игривые искусительницы регистрируются для трансляции в небесплатных секс чатах, в роли моделей, предлагающих виртуальный секс онлайн.
    [b]Сколько зарабатываю женщины с сайта prostitutki-intim.net
    [/b]Тарифы у отдельной девочки легкого поведения персональные в зависимости от перечня предоставляемых постельных удовольствий и категории девушки (дешевые, элитные). Плата берется за час, 2 часа или за ночь. Выезд по приглашению заказчика оплачивается дополнительно. Те ночные бабочки, которые желают получить много денег, оказывают интимные услуги каждодневно, принимая до 10 человек в течение суток. Конечно и прибыль станет исчисляться в тысячах долларов. Девицы, имеющие богатых постоянных любовников, смогут себе позволить походы в магазины, дорогую одежду и отдых заграницей.

  • PeterKen
    PeterKen 24.09.2021 12:56 Комментировать

    The Cincinnati oh. Tigers hope running back Joe Mixon (Joe Mixon) can play for the team for a long time.

    While the running rear is about to be able to enter the final year of his rookie contract, Tigers person personnel director Duke Tobin (Duke Tobin) said he requires to complete some important signings.
    cheap jerseys
    'Joe is an essential member of our team. He is some sort of member we want to renew and stick to the particular team for some sort of long time. Typically says that we will complete the particular renewal sometime in the course of training camp, ' Tobin Say.

    Throughout recent years, the particular Tigers and broad receiver Tyler Boyd (2019), defensive tackle Geno Atkins (Geno Atkins), defensive finish card after the start of education camp Carlos Dunlap (2018) renewed the contract with superstar wide receiver AJ Green (2015).
    wholesale jerseys
    Mickelsons contract value this specific year is US$1. 208 million. The substitute Giovani Bernard (Giovani Bernard) has a basic salary associated with $3. 7 million this year. Bernard renewed his agreement with the Tigers for two years previous year, with a good average annual salary of $5. a single million, ranking tough luck among all running backside inside the league, whilst Mickelson only graded 47th.
    wholesale jerseys
    The 24-year-old Mickelson has rushed for over 1, hundred yards for two consecutive seasons. They are the spine from the Tigers criminal offense. He's the capability to let opposition defenders miss a tackle in the particular open area plus accelerate the breakthrough of the defensive guard. Although the particular amount of yards receiving within a season offers never exceeded 3 hundred yards, Mickelson nevertheless has the ability to help the moving offense.
    cheap china jerseys free shipping
    'Joe performed well for all of us. Many of us want him to settle on the group. We realize what kind of player they are. He came to be able to they and was the winner a brand new contract, ' Tobin said. 'He is a player we are proud of. Simply no matter what sort of player now there is in typically the draft next yr or in the free agent market, all of us know that Paul is the player many of us want. You will try out to see in the event that we can finish the renewal. '

    The biggest difficulty now is precisely what price both parties are ready to accept.

    Mickelson would want the particular leagues top regular salary of $15-16 million or close to Derrick Henrys average annual salary of $12. five million as well as Melvin Gordons 8# #0 What about the typical annual salary involving $0 million? Which is the Tigers ready to meet Mickelson's demands?

    If the 2 sides cannot reach a consensus, the particular Tigers may employ the franchise player label to keep Mickelson next year

  • Willardhib
    Willardhib 24.09.2021 07:27 Комментировать

    [url=http://fisherplanning.com/__media__/js/netsoltrademark.php?d=tadalafilten.com/]tadalafil online canada[/url] or [url=http://authorslawyer.com/__media__/js/netsoltrademark.php?d=tadalafilten.com]price comparison tadalafil[/url] or [url=http://wlfbsa.org/home.php?mod=space&uid=4500601]tadalafil price[/url] or [url=http://needhamcapitalpartners.com/__media__/js/netsoltrademark.php?d=tadalafilten.com]buy tadalafil cialis[/url] or [url=http://groundbuster.com/__media__/js/netsoltrademark.php?d=tadalafilten.com/]tadalafil price uk[/url] or [url=http://hudsoninsurancecompany.net/__media__/js/netsoltrademark.php?d=tadalafilten.com]tadalafil 20mg pills[/url] or [url=http://rjgroup.com/__media__/js/netsoltrademark.php?d=tadalafilten.com]discount tadalafil 20mg[/url] or [url=http://inthegardenwithcharlotte.com/__media__/js/netsoltrademark.php?d=tadalafilten.com]cheapest tadalafil india[/url] or [url=http://027raby.com/space-uid-26900.html]tadalafil for sale from india[/url] or [url=http://it776.com/home.php?mod=space&uid=4221983]cheap 10 mg tadalafil[/url] or [url=http://linkitfast.com/__media__/js/netsoltrademark.php?d=tadalafilten.com/]buy tadalafil 10mg india[/url] or [url=http://cbclakecountry.info/__media__/js/netsoltrademark.php?d=tadalafilten.com]canadian pharmacy tadalafil[/url]
    [url=http://poredak.netfreehost.com/posting.php?mode=quote&p=2896469]tadalafil tablets[/url] ybrsrxvz
    [url=http://poredak.netfreehost.com/posting.php?mode=quote&p=2950375]buy tadalafil online no prescription[/url] cxascyvp
    [url=http://www.poredak.netfreehost.com/posting.php?mode=newtopic&f=20]tadalafil 20 mg best price[/url] qhirdjpp

  • Carolynpal
    Carolynpal 24.09.2021 05:35 Комментировать



    ПОМОГИТЕ SONIC.EXE нас ПРЕСЛЕДУЕТ везде 😱 Серия 2 продолжение sonic.exe

Оставить комментарий

Убедитесь, что вы вводите (*) необходимую информацию, где нужно
HTML-коды запрещены

Back to top

Помогите нашему проекту