8 способов защиты сайта на WordPress через Htaccess! Правильный htaccess wordpress


Настройка .htaccess для wordpress? — Toster.ru

Здравствуйте! Скажите пожалуйста, объясните... как правильно настроить .htaccess на wordpress. Нужно включить сжатие, добавляю следующий код# BEGIN GZIP COMPRESSION <IfModule mod_gzip.c> mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* </IfModule> # END GZIP COMPRESSION и ничего не сжимается! Также нагуглив вот такой код идеального .htaccess, но с ним сайт вообще не загружается и выдает ошибку!Options +FollowSymLinks -Indexes RewriteEngine On # Block out any script trying to base64_encode data within the URL. RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR] # Block out any script that includes a <script> tag in URL. RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR] # Block out any script trying to set a PHP GLOBALS variable via URL. RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] # Block out any script trying to modify a _REQUEST variable via URL. RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) # Return 403 Forbidden header and show the content of the root homepage RewriteRule .* index.php [F] # ## End - Rewrite rules to block out some common exploits. #### @RS # Deny access to php, xml and ini files # within components and plugins directories RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_URI} \.php|\.ini|\.xml [NC] RewriteCond %{REQUEST_URI} \/components\/ [OR] RewriteCond %{REQUEST_URI} ^\/includes\/|^\/administrator\/includes\/ [OR] RewriteCond %{REQUEST_URI} \/language\/ [OR] RewriteCond %{REQUEST_URI} \/libraries\/ [OR] RewriteCond %{REQUEST_URI} \/modules\/ [OR] RewriteCond %{REQUEST_URI} \/plugins\/ [OR] RewriteCond %{REQUEST_URI} \/templates\/ [OR] RewriteCond %{REQUEST_URI} \/xmlrpc\/ RewriteRule ^(.*)$ index.php [R=404,L] #### @RS #### @RS # Prevent most common SQL-Injections RewriteCond %{query_string} concat.*\( [NC,OR] RewriteCond %{query_string} union.*select.*\( [NC,OR] RewriteCond %{query_string} union.*all.*select [NC] RewriteRule ^(.*)$ index.php [F,L] #### @RS #### @RS # Block most common hacking tools SetEnvIf user-agent "Indy Library" stayout=1 SetEnvIf user-agent "libwww-perl" stayout=1 SetEnvIf user-agent "Wget" stayout=1 deny from env=stayout #### @RS ## Begin - Custom redirects # # If you need to redirect some pages, or set a canonical non-www to # www redirect (or vice versa), place that code here. Ensure those # redirects use the correct RewriteRule syntax and the [R=301,L] flags. # ## End - Custom redirects ## # Uncomment following line if your webserver's URL # is not directly related to physical file paths. # Update Your Joomla! Directory (just / for root). ## # RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # # If the requested path and file is not /index.php and the request # has not already been internally rewritten to the index.php script RewriteCond %{REQUEST_URI} !^/index\.php # and the request is for something within the component folder, # or for the site root, or for an extensionless URL, or the # requested URL ends with one of the listed extensions RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC] # and the requested path and file doesn't directly match a physical file RewriteCond %{REQUEST_FILENAME} !-f # and the requested path and file doesn't directly match a physical folder RewriteCond %{REQUEST_FILENAME} !-d # internally rewrite the request to the index.php script RewriteRule .* index.php [L] # <IfModule mod_deflate.c> 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 <ifmodule mod_gzip.c> mod_gzip_on Yes mod_gzip_item_include file \.js$ mod_gzip_item_include file \.css$ </ifmodule> <IfModule mod_expires.c> # Enable expiration control ExpiresActive On # CSS and JS expiration: 1 week after request ExpiresByType text/css "now plus 1 week" ExpiresByType application/javascript "now plus 1 week" ExpiresByType application/x-javascript "now plus 1 week" # Image files expiration: 1 month after request ExpiresByType image/bmp "now plus 1 month" ExpiresByType image/gif "now plus 1 month" ExpiresByType image/jpeg "now plus 1 month" ExpiresByType image/jp2 "now plus 1 month" ExpiresByType image/pipeg "now plus 1 month" ExpiresByType image/png "now plus 1 month" ExpiresByType image/svg+xml "now plus 1 month" ExpiresByType image/tiff "now plus 1 month" ExpiresByType image/vnd.microsoft.icon "now plus 1 month" ExpiresByType image/x-icon "now plus 1 month" ExpiresByType image/ico "now plus 1 month" ExpiresByType image/icon "now plus 1 month" ExpiresByType text/ico "now plus 1 month" ExpiresByType application/ico "now plus 1 month" ExpiresByType image/vnd.wap.wbmp "now plus 1 month" ExpiresByType application/vnd.wap.wbxml "now plus 1 month" ExpiresByType application/smil "now plus 1 month" # Audio files expiration: 1 month after request ExpiresByType audio/basic "now plus 1 month" ExpiresByType audio/mid "now plus 1 month" ExpiresByType audio/midi "now plus 1 month" ExpiresByType audio/mpeg "now plus 1 month" ExpiresByType audio/x-aiff "now plus 1 month" ExpiresByType audio/x-mpegurl "now plus 1 month" ExpiresByType audio/x-pn-realaudio "now plus 1 month" ExpiresByType audio/x-wav "now plus 1 month" # Movie files expiration: 1 month after request ExpiresByType application/x-shockwave-flash "now plus 1 month" ExpiresByType x-world/x-vrml "now plus 1 month" ExpiresByType video/x-msvideo "now plus 1 month" ExpiresByType video/mpeg "now plus 1 month" ExpiresByType video/mp4 "now plus 1 month" ExpiresByType video/quicktime "now plus 1 month" ExpiresByType video/x-la-asf "now plus 1 month" ExpiresByType video/x-ms-asf "now plus 1 month" </IfModule> ########## End - Optimal expiration time <IfModule mod_headers.c> <FilesMatch "\.(js|css|xml|gz)$"> Header append Vary: Accept-Encoding </FilesMatch> </IfModule> # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress <Files wp-config.php> # Запрещаем всем доступ к файлу wp-config.php order allow,deny deny from all </Files> <Files .htaccess> order allow,deny deny from all </Files> AddDefaultCharset utf-8 Возможно у кого-то есть идеальный htaccess для wordpress, буду благодарен за помощь!)

toster.ru

Front Camp / Как составить правильный .htaccess для WordPress

Оптимальный .htaccess для WordPressВ сети сложно найти универсальный .htaccess для WordPress, т.к. каждый блог настраивается под свою инфраструктуру — хостинг, пути и ссылки. Чаще всего можно встретить урезанные варианты, авторы которых либо не вникали в суть дела, либо не хотят отвечать на множественные вопросы в комментариях. Вам так или иначе придется немного вникнуть в его структуру и решить, что и как должно быть настроено именно для вашего блога.

Далее я постараюсь опишу свой .htaccess, чтобы на его базе вы могли создать свой собственный.

Для начала надо создать обычный текстовый файл и сохранить его с именем ".htaccess" (не забудьте создать резервную копию существующего файла, если таковой уже имеется в каталоге, где хостится блог). Далее мы будем его редактировать последовательно добавляя те или иные параметры. После очередного добавленного параметра, мы копируем его в каталог на сервере, где установлен WordPress и проверяем — всё ли осталось работоспособным, и, если нет — "откатываемся" обратно (удаляем этот параметр и думаем, почему это не сработало). Итак, поехали...

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

# Protect .htaccess <files .htaccess> order allow,deny deny from all </files>

Теперь содержимое этого файла нельзя будет получить и прочитать введя в браузере http://yoursite.com/.htaccess

Далее таким же образом защищаем wp-config.php:

# Protect wpconfig.php <files wp-config.php> order allow,deny deny from all </files>

Дальше можно (не обязательно) добавить условие(-я) блокировки доступа для конкретных IP адресов. Это может понадобиться, если вы знаете, к примеру, IP источника спама или откуда приходит нежелательный трафик.

# Who has access and who doesn't order allow,deny deny from 1.1.1.1 deny from 2.2.2.2 allow from all

Соответственно, "1.1.1.1" и "2.2.2.2" надо заменить на реальные IP адреса и вы можете добавлять или удалять строки "deny from" по мере необходимости. Для примера, я приведу реальный кусок, где я уже заблокировал много спамерских ресурсов, в том числе используя маски сетей (т.е. без указания одной последней или двух цифр IP адреса):

# Who has access and who doesn't Order allow,deny Deny from 46.118.158.247 Deny from 59.53.95.31 Deny from 61.158.161 61.158.162 61.158.163 61.158.165 61.158.167 61.158.168 61.158.169 Deny from 82.193.109 Deny from 91.231.40.27 91.231.40.28 Deny from 109.171.97.172 Deny from 117.21.224 117.21.225 117.21.226 117.21.227 Deny from 121.205.248.4 Deny from 176.195 Deny from 178.137 Deny from 192.162.19 Deny from 222.187.221 222.187.222 222.187.223 Allow from all

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

Теперь давайте скажем, чтобы сервер не показывал списки файлов (индексы) при запросах каталогов, например к каталогам с картинками, скриптами и т.п.

# Disable directory browsing Options All -Indexes

Еще одна необязательная опция — перенаправление. Нужна в том случае, если вы переносили и/или меняли названия страниц или каталогов, после чего пользователи и поисковые системы их уже не видят на старых адресах.

Это нужно не только пользователям, но и для SEO, — чтобы поисковик не потерял ранее накопленный рейтинг данной страницы.

Будет выглядеть приблизительно так:

# Redirect old to new Redirect 301 /old.php http://www.yourdomain.com/new.php

Общий синтаксис: Redirect код что куда

Код — это специальный код, который сервер возвращает в ответ на запрос, тут можете увидеть полный список статусных HTML кодов. К примеру, код 301 означает: "Перемещено на новое постоянное место".

Что — это может быть исходный путь с маской или отдельный файл.

Куда — собственно, куда оно было перемещено.

Теперь, для ускорения загрузки страниц в браузеры наших посетителей, пытаемся включить zlib компрессию. Её суть в том, чтобы передавать упакованные данные, занимающие меньший объем, а значит, за более короткое время. Будьте осторожны с этой командой, сразу же убедитесь в том, что она работает и дает какой-то эффект. В противном случае, лучше удалите или закомментируйте.

# php compression - use with caution php_value zlib.output_compression 16386

С техническими деталями разобрались, теперь переходим к контенту. Определяем кодировку.

# Encoding AddDefaultCharset utf-8

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

# Add ICO mime type AddType image/x-icon .ico

Теперь стандартный код WordPress, который он обычно сам генерирует при установке.

# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^robots.txt$ - [L] RewriteRule ^sitemap.xml$ - [L] RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress

Осталось совсем немного тюнинга...

Добавим немного секретности — попросим сервер не сообщать его название, версию и окружение, в случае HTTP ошибок. Например, при обращении к существующему, но запрещенному каталогу например:http://frontcamp.com/wp-content/themes/living-journal/library/

HTTP error 403: Forbidden / Ошибка 403Сервер вернет стандартную заглушку "Forbidden - You don't have permission to access /wp-content/themes/living-journal/library/ on this server" ("Запрещено - Вы не имеете прав для доступа...").

Обычно внизу появляется еще что-то вроде: "Apache v.N.N.N, PHP,...". По сути, информация безвредная, но зная серверное ПО и его версии, взломщик уже может целенаправленно искать уязвимости.

Еще давайте ограничим размер загружаемых файлов до 10 Мб.

# Limit file uploads to 10mb LimitRequestBody 10240000

Это тоже дополнительная мера предосторожности.

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

# Turn off inheritance SecFilterInheritance Off

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

Вот, вроде бы и всё. Если найдете ошибки или что-то новое/интересное про .htaccess для WordPress — пишите в комментарии, будем накапливать опыт вместе.

frontcamp.com

Защита сайта на WordPress через Htaccess 8 способов.

Защита сайта

Здравствуйте, дорогие друзья и читатели – Sozdaiblog.ru!

Сегодня у нас очень серьёзная тема — Защита сайта.

Не так давно, я поднимал эту тему в статье – «Как защитить блог от взлома», но читая Ваши комментарии, в которых Вы стали часто говорить о том, что Ваш Веб-ресурс взломали, я решил её продолжить. Если Вы помните, то вся защита сайта была построена при помощи плагинов. Больше мы не будем их устанавливать, а поколдуем с WordPress htaccess.

Файл htaccess, находится в корневой папке Вашего ресурса.

Если у Вас такого файла нет, то нужно его создать. Это не сложно, создаёте любой текстовый документ на рабочем столе компьютера, присваиваете ему имя – «.htaccess» и через ftp-клиент вставляете его в корневую папку Вашего ресурса.

Затем, открываете его на редактирование и вставляете следующий код:

 

# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress

 

Этот код стандартный и устанавливается практически во всех файлах htaccess.

Теперь мы будем его дополнять новыми кусками различного кода, которые в сочетании с плагинами будут укрепять защиту сайта.

Все ниже приведённые коды, ставим строго после — # END WordPress.

 

Защита сайта в wp-config.php.

Все, кто сам устанавливал WordPress, знают файл – «wp-config.php». В нём хранится имя базы данных, пароль и логин. Думаю, ни кто из нас не хочет, чтобы эти данные попали в чужие руки.

Для предотвращения несанкционированного доступа к этому документу, вписываем в наш htaccess файл, следующий код:

 

<Files wp-config.php> order allow,deny deny from all </Files>

Админ доступ, только с Вашего IP адреса.

Для нежелательного редактирования данных Вашего ресурса посторонними людьми, Вы можете ограничить доступ к папке администратора (wp-admin), при помощи блокировки IP адресов.

Чтобы это сделать, нужно создать новый файл htaccess и закинуть его в папку – «wp-admin». Затем, открываем его на редактирование и вписываем код, заменяя существующий IP адрес своим:

 

order deny,allow allow from 237.070.33.1 (replace with your IP address) deny from all

 

Но, здесь есть одно условие, этот хак работает в том случае, если у Вас IP адрес – статический. В случаи с динамическим будьте осторожны, он постоянно меняется, и Вы можете сами себя заблокировать.

 

файл htaccess

Блокировка определённого пользователя.

Если у Вас есть IP адрес, с которого пытаются вломиться на Ваш ресурс, то такого Икара можно мигом обломать, ограничив ему доступ. Для этого, воспользуйтесь приведённым кодом, вписав туда адресок обидчика:

 

<Limit GET POST PUT> order allow,deny allow from all deny from 46.160.64.94 </LIMIT>

 

Таким образом, можно добавлять новых недоброжелателей, дописывая строчки:

 

deny from 205.095.41.1

Запретить доступ к wp-content.

В папке – «wp-content», хранятся Ваши темы, плагины, картинки и многое другое. Поэтому, будет не лишним обезопасить её от злоумышленников.

Вам снова потребуется создать новый файл htaccess, вписать в него код и закинуть в — «wp-content»:

 

<Files ~ ".(xml|css|jpe?g|png|gif|js)"> Allow from all </Files>

 

Таким образом, пользователи смогут просматривать изображения и CSS файлы, но доступ к PHP будет им закрыт.

 

Индивидуальная защита файлов.

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

 

<FilesMatch \.(?i:gif|jpe?g|png)$> Order allow,deny Deny from all </FilesMatch>

 

Чтобы не запутаться, записывайте, где и что вы блокируете.

 

защита сайта

Защита от спама.

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

 

# protect from spam comments RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.*Ваш домен.ru.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

Ограничения для вредоносных пауков и приложений.

Большинство владельцев Веб-сайтов и администраторов не знают, что Интернет кишит вредоносными пауками из различных приложений и программ, которые бесконечно сканируют веб-серверы, заглядывая в каждую директорию файла Robots.txt с подробными инструкциями для поисковых систем. Всё это приводит к лишней нагрузке и риску быть взломанным.

Чтобы прекратить бесконечное сканирование и показать этим гадам, где Ваш Robots.txt зимует, достаточно в файле htaccess вписать код с точным адресом:

 

RewriteBase / RewriteCond %{REQUEST_URI} !^/robots.txt$ [NC] RewriteCond %{REQUEST_URI} robots\.txt [NC] RewriteRule .* http://Ваш сайт.ru/robots.txt [R=301,L]

Защита htaccess.

Смешно так звучит, правда? Мы столько времени потратили на защиту сайта при помощи различных плагинов и блокировок, а про то, что сам файл htaccess остаётся уязвим, забыли.

Следующий кусок кода, защищает все файлы, начинающиеся с — «hta», от просмотра ненужными людьми:

 

<Files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </Files>

 

Теперь, защита Вашего сайта стала надёжная, как дом у Наф-Нафа из трёх поросят и ни один волк Вам не страшен.

А какие коды используете Вы? Поделитесь с читателями своими наработками!

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

На сегодня это всё…

 

С уважением, Денис Черников!

Интересное по теме:

Сделайте, пожалуйста, доброе дело, расскажите о блоге своим друзьям:

sozdaiblog.ru

10 отличных приемов с .htaccess для WordPress

Внимание!

Перед изменением файла .htaccess не забудьте сделать его резервную копию.

1 — Перенаправляем WordPress RSS поток на feedburner с использованием .htaccess

Почему некоторые вебмастера не используют feedburner? Ведь это такой замечательный инструмент для контроля за подписками на RSS. Проблема в том, что приходится руками исправлять файлы шаблонов. Этот прием поможет сохранить Ваше время.

И не забудьте исправить в строке 6 на Ваш код

<IfModule mod_rewrite.c> 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] </IfModule>

2 — Удалить /category/ из пути в адресе WordPress

По умолчанию категории в WordPress отображаются так: httр://www.wordpress.com/blog/category/wordpressА это не очень красиво, да и адрес выглядит длинновато.Сейчас Вы узнаете как исправить это с помощью .htaccess

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

Теперь категории будут выглядеть как: httр://www.wordpress.com/blog/wordpress

3 — Использование кэша браузера

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

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

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

5 — Перенаправление постоянных ссылок на основе Дня и имени на /%postname%/

Сначала зайдите в админку WordPress, зайдите в Settings → Permalinks и выберите custom.Заполните поле с /%postname%/.Теперь постоянные ссылки будут выглядеть так: httр://www.yourblog.com/name-of-the-postТеперь нам нужно перенаправить все старые ссылки на новые постоянные.Внесите в .htaccess следующие строки:

RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ httр://www.domain.com/$4

6 — Запретить комментирование если отсутствует referrer

Метод построен на том, что многие спам-боты не передают referer когда постят данные.Этот код проверяет поле referrerи блокирует отправку комментария если отсутствует referer при обращении к файлу wp-comments-post.php.Не забудьте в строке 4 вписать домен своего блога

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]

7 — Перенаправить пользователя на страницу-заглушку

на время работ на сайте желательно перенаправлять пользователей на временную страницу-заглушкуЗамените в строке 2 maintenance.html на название вашего файла.И в строке 3 впишите свой IP, чтобы вас не перенаправляло на эту заглушку.

302-редирек используется чтобы поисковые системы не проиндексировали содержимое временной страницы.

RewriteEngine on RewriteCond %{REQUEST_URI} !/maintenance.html$ RewriteCond %{REMOTE_ADDR} !^123.123.123.123 RewriteRule $ /maintenance.html [R=302,L]

8 — Защита блога от хотлинков

Хотлик — это использование файлов размещенных на вашем сайте на страницах других сайтов с целью сэкономить свой серверный трафик.Для борьбы с этой напастью помогут следующие строки в .htaccess

RewriteEngine On #Replace ?mysite.com/ with your blog url RewriteCond %{HTTP_REFERER} !^http://(.+.)?mysite.com/ [NC] RewriteCond %{HTTP_REFERER} !^$ #Replace /images/nohotlink.jpg with your "don't hotlink" image url RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

9 — Разрешить доступ к wp-admin только с Вашего IP

Дополнительной защитой Вашего блога от взлома может служить ограничение списка адресов, с которых разрешено заходить в админку блога.Не забудьте вставить свой IP в строке 8.Если Вы захотите использовать дополнительные адреса для доступа добавьте строки allow from xx.xx.xxx.xx

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

10 — Блокирование спамеров в WordPress через .htaccess

Часто спам-боты ходят с одних и техже IP. Следующий прием поможет блокировать доступ с этих адресов.Внеси адрес спамера в строке 3.Можно расширить список заблокированных адресов добавив строки deny from xxx.xx.xxx.xxx.

<Limit GET POST> order allow,deny deny from 200.49.176.139 allow from all </Limit>

www.internet-technologies.ru

10 полезных хаков .htaccess для WordPress

Перевод: 10 awesome .htaccess hacks for WordPressАвтор: Jean-Baptiste Jung

Предупреждение

Когда редактируете файл .htaccess Вашего WordPress блога будьте уверены, что у Вас всегда есть его архивная копия, из которой можно будет восстановить исходные данные, если вдруг что-то пойдет не так.

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

Какой блоггер не использует FeedBurner? Уверен, FeedBurner это замечательный сервис, который позволяет Вам узнать сколько посетителей подписаны на Вашу RSS ленту. Проблема лишь в том, что Вы должны вручную отредактировать файлы Вашей темы, что-бы переправить URL ленты. К счастью есть великолепный хак с использованием .htaccess, который сохранит Вам уйму времени. Не забудьте исправить 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://feeds2.feedburner.com/catswhocode [R=302,NC,L] </IfModule>
2. Удаляем слово «/category/» из URL Вашего WordPress

По умолчанию, постоянные ссылки на категории WordPress выглядят вот так:

http://www.catswhocode.com/blog/category/wordpress

Как Вы видите, слово category в URL не несет в себе никакого смысла. Как его убрать? Сперва сохраните Ваш файл .htaccess. Затем, откройте его и добавьте следующую строку:

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

После сохранения, URL Ваших страниц категорий будет выглядеть вот так:

http://www.catswhocode.com/blog/wordpress
3. Используем кеш браузера

Хорошим подспорьем для оптимизации времени загрузки Вашего блога будет использование кеша клиентских браузеров. Этот код напрямую не улучшит время загрузки Вашего блога, но он поможет в работе серверу, отсылая 304-ый код статуса, который будет говорить о том, что запрашиваемые статические элементы (изображения, таблицы стилей, JavaScript) не изменялись и их не нужно загружать повторно.

FileETag MTime Size <ifmodule mod_expires.c> <filesmatch "\.(jpg|gif|png|css|js)$"> ExpiresActive on ExpiresDefault "access plus 1 year" </filesmatch> </ifmodule>
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
5. Убираем из постоянных ссылок День, Месяц, Год и оставляем только название статьи

Первым делом, когда Вы заходите в администраторскую часть WordPress, Вы идете в Settings ? Permalinks и выбираете постоянные ссылки вида /%postname%/. Ваши ссылки теперь будут выглядеть вот так:

http://www.yourblog.com/name-of-the-post

Теперь нам необходимо перенаправить все обратные ссылки, использующие старую структуру формирования URL, на новую структуру «укороченных» постоянных ссылок. Сделаем это с помощью .htaccess, расположенного в корне WordPress, просто вставив туда следующий код (не забываем вставлять свой домен):

RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ http://www.domain.com/$4
6. Запрещаем постить комментарии пользователям без реферера

Вы устали от волны ежедневных спам комментариев? Конечно, есть Akismet, но есть и маленький .htaccess трюк предотвращающий определенный спам на Вашем блоге. Как правило спамеры используют ботов приходящих ниоткуда. Этот код проверяет реферер (ссылку на страницу, с которой комментатор оставляет свое сообщение) и запрещает комментирование, если оно осуществляется напрямую, через вызов скрипта wp-comments-post.php без использования формы отправки комментариев на Вашем блоге. Просто измените строку 4 в соответствии с Вашим доменом.

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]
7. Как сказать посетителям, что на блоге проходят технические работы?

Когда Вы обновляете свой блог или выполняете какие-то изменения в его дизайне, не очень-то грамотно давать показывать это посетителям, особенно когда при таких процедурах случаются различные проблемы связанные с ошибками и недочетами. По хорошему, Вы должны заранее заготовить страницу с предупреждением о том, что на данном ресурсе проводятся временные работы, и что он будет доступен в ближайшее время, так называемая «maintenance page», соответственно всех посетителей необходимо переправлять на эту страницу. Замените maintenance.html (строка 2) на страницу, которую Вы подготовили, что-бы перенаправлять своих посетителей и IP адрес на строке 3 — это Ваш IP адрес. Помните, что статус 302 — перенаправление, используется для того, что указать поисковым системам, что-бы они не индексировали нашу заготовку вместо настоящей домашней страницы сайта!

RewriteEngine on RewriteCond %{REQUEST_URI} !/maintenance.html$ RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123 RewriteRule $ /maintenance.html [R=302,L]
8. Защищаем WordPress от хотлинков

Хотлинки — это способ использовать изображение с одного сайта на другом. Многие блогеры этим пользуются и этим самым нагружают чужие ресурсы. Этот код поможет защитить Ваш WordPress от хотлинков и тем самым снизить нагрузку на Ваш ресурс:

RewriteEngine On #Replace ?mysite\.com/ with your blog url RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC] RewriteCond %{HTTP_REFERER} !^$ #Replace /images/nohotlink.jpg with your "don't hotlink" image url RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]
9. Закрываем администраторский раздел WordPress от чужих глаз (IP адресов)

За исключением коллективных блогов, только Вы должны быть допущены к директории wp-admin — это директория администраторского раздела WordPress. Если у Вас есть постоянный IP адрес или блок IP адресов, этот код для Вас. Все, что Вам надо сделать, это ввести его в строке 8. Помните, что этих строк может быть несколько или, если Вы используете блок адресов, они могут быть записаны в соответствии с правилами IP адресации, к примеру так: 77.77.77.0/255.255.255.0

AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "Example Access Control" AuthType Basic <LIMIT GET> order deny,allow deny from all allow from xx.xx.xx.xx </LIMIT>
10. Посылаем спамеров в баню (banning) с помощью .htaccess

Как Вы знаете — спамеры очень приставучие. В отношении каких-то конкретных персон, Вы можете завести черный список, с помощью которого сможете полностью блокировать доступ к своему детищу. Просто замените IP адрес на строке 3 на IP адрес спамера, если их несколько, то Вы можете воспользоваться советом предложенным в предыдущем пункте.

<Limit GET POST> order allow,deny deny from 200.49.176.139 allow from all </Limit>

handynotes.ru

Настройка файла .htaccess для Wordpress

htaccess настройка Что такое файл .htacess, для чего он служит и его влияние на seo-продвижение. 301 редирект и его роль при определении основного зеркала сайта. Продвигаясь в освоении тонкостей и секретов оптимизации, продвижения и раскрутки сайтов бесплатными методами, мы с Вами в этой статье разберем такой технический момент как настройка файла .htaccess для определения основного домена сайта именно на движке WordPress. Иными словами мы с Вами должны указать поисковым системам основной домен сайта:

— с     WWW  —  www.sait.ru

или

— без WWW  —  sait.ru

В интернете лет десять-пятнадцать назад производительность интернет-серверов была небольшой и они разносились по разным машинам. На одной был веб-сервер, на другой почтовый сервер, на третьей ftp-сервер. На данный момент производительность серверов значительно возросла и эта проблема отпала.

А приставка WWW осталась и является атавизмом, как кобчик у человека. И болтается эта приставка, создавая дополнительные трудности веб-дизайнерам и сео-оптимизаторам. Ведь поисковые системы могут воспринять один и тот же сайт как два разных. Какие неприятности это может принести? Выделю две основных:

— При внешнем продвижении сайта ссылками(платными или бесплатными), статьями и тому подобное, ваши ссылки могут не сработать, так как формально ссылаются на совсем другой сайт.

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

Правда эту проблему можно решить и другими способами, используя директиву Host файла robots.txt. Также основной домен сайта можно указать в сервисах основных поисковиков для Рунета Яндекс.Вебмастер и Google.Webmasters. Но так как никто точно не знает, что там на уме у поисковых роботов, то желательно им указывать эти параметры во всех источниках.

Ведь Seo-продвижение это такая вещь, которая состоит из множества, казалась бы независимых друг от друга действий. Это внутренняя оптимизация, заполнение основных тегов, расположение ключевых слов, использование графики, валидность HTML-кода, другие технические моменты. Не забываем и об использовании человеко-понятных урлов.

И только выполняя все рекомендации комплексно мы можем получить  желанный результат, получая благосклонность поисковых систем и высокие позиции в ТОПе. И настройка файла .hnaccess является одним из этих самых технических моментов.

Но ближе к делу, хочу поделиться какие проблемы я встретил при настройке этого файла. Поскольку у меня сайт молодой, то мне использовать присловутую приставку ни к чему. Я настраиваю файл .htaccess на домен без WWW, а конкретнее – inetmkt.ru. По рекомендациям мой файл должен был выгдядеть следующим образом.

RewriteEngine OnRewriteCond %{HTTP_HOST} ^www.inetmkt.ru$ [NC]RewriteRule ^(.*)$ http://inetmkt.ru/$1 [R=301,L]

Но зайдя на свой сайт я обнаружил, что WordPress уже создал файл htacess и он содержит следующие операторы:

# BEGIN WordPress<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteRule ^index\.php$ — [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php [L]</IfModule># END WordPress

Я его, конечно скопировал, затем перенес рекомендуемый в корневую директорию моего сайта. Проверяю работу сайта и обнаруживаю, что кроме главной страницы у меня ничего больше не открывается. Неприятно, но копировал ведь не зря, возвращаю старый вариант, проверяю, все нормально работает. Немного подумав соединяю эти два файла в один. Файл приобретает вот такой вид:

# BEGIN WordPress<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteRule ^index\.php$ — [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php [L]</IfModule>RewriteEngine OnRewriteCond %{HTTP_HOST} ^www.inetmkt.ru$ [NC]RewriteRule ^(.*)$ http://inetmkt.ru/$1 [R=301,L]# END WordPress

Переношу его в корневую директорию сайта, проверяю работоспособность, все работает нормально. На этом останавливаюсь. Честно признаться, до конца не уверен в правильности  проделанной работы, так как слабо знаком с директивами настройки серверов, которые используются в этом файле. Ведь  файл .htaccess( с точкой вначале и без расширения) это обычный текстовый файл, содержащий директивы, на основании которых веб-сервера Apache и ему подобные, выполняют соответствующие действия со страницами файла. Этот файл может размещен в любом каталоге и его директивы будут действовать на все файлы в этом каталоге и в подчиненных ему подкаталогах.

На самом деле функции этого файла гораздо шире, вот некоторые из них:

— запреты на доступ— установка паролей— различные перенаправления— повышение безопасности…..

Подробнее с настройкой и директивами этого полезного файла можно ознакомиться на сайте  www.htaccess.net.ru. Надеюсь, что эта информация будет Вам полезна, спасибо за внимание, здоровья и успехов Вам.

 

Полезные Материалы:

inetmkt.ru

Редактировать файл htaccess прямо в админ панели wordpress ! — ТОП

Привет !

Я тут нашёл плагин, с помощью которого можно редактировать файл .htaccess прямо в админ-панели wordpress. Возможно кому-то будет интересен и полезен плагин — WP Htaccess Editor. Установить данный плагин можно прямо из админ-панели wordpress. Перейдите по вкладке: Плагины — Добавить новый, введите название плагина в форму поиска, нажмите Enter, установите и активируйте открывшийся плагин.

 

21-11-2015 12-13-05_mini

 

Далее перейдите во вкладку: Htaccess

 

21-11-2015 13-03-38

 

На странице плагина, перед тем как вносить какие-либо изменения в файл .htaccess, обратите внимание на красную надпись в верху страницы: Внимание: любая ошибка в этом файле может привести к неработоспособности вашего сайта !Редактирование файла htaccess должно выполняться только опытными пользователями !

 

21-11-2015 13-40-05_mini

 

Чтобы внести изменения в файл .htaccess, просто добавьте нужные вам указания в поле — Content of the Htaccess file. После чего, чтобы сохранить изменения, нажмите на кнопку — Save file.

 

21-11-2015 13-05-26_mini

 

На странице Backup можно сделать резервную копию файла .htaccess, нажав на кнопку — Create new.

 

21-11-2015 13-56-14_mini

 

После создания резервной копии, можно будет восстановить или удалить резервную копию файла .htaccess. Restore — восстановить, Remove — удалить.

 

21-11-2015 13-58-15_mini

 

Вот и всё, кстати, если вы например внесли изменения в файл .htaccess и больше не собираетесь редактировать файл, то можете просто удалить плагин и всё, а когда в следующий раз захотите что-то внести в файл, то устанавливаете плагин и вносите изменения. На сегодня всё, вопросы оставляйте в комментариях, до новых встреч !

 

info-effect.ru

info-effect.ru


Смотрите также

Prostoy-Site | Все права защищены © 2018 | Карта сайта