Перевод содержимого .htaccess в iis web.config
- Статья
- Чтение занимает 7 мин
Стив Джейкобсон
Введение
Многие приложения PHP распределяются с файлами конфигурации для веб-сервера Apache. Эти файлы конфигурации (обычно называемые htaccess-файлами) содержат ряд параметров, которые можно использовать для интеграции приложения с возможностями веб-сервера.
IIS 7 и более поздних версий использует файл с именем Web.config для хранения параметров интеграции с приложениями. Файл Web.config содержит сведения, управляющие загрузкой модулей, конфигурацией безопасности, конфигурацией состояния сеанса, языком приложения и параметрами компиляции.


Пример файла Web.config приложения
<?xml version="1.0" encoding="UTF-8"?> <configuration> <configSections> <sectionGroup name="system.webServer"> <sectionGroup name="rewrite"> <section name="rewriteMaps" overrideModeDefault="Allow" /> <section name="rules" overrideModeDefault="Allow" /> </sectionGroup> </sectionGroup> </configSections> <system.webServer> <security> <!-- This section should be uncommented after installation to secure the installation. --> <!-- <requestFiltering> <denyUrlSequences> <add sequence="engine" /> <add sequence="inc" /> <add sequence="info" /> <add sequence="module" /> <add sequence="profile" /> <add sequence="po" /> <add sequence="sh" /> <add sequence="theme" /> <add sequence="tpl(\.php" /> <add sequence="Root" /> <add sequence="Tag" /> <add sequence="Template" /> <add sequence="Repository" /> <add sequence="code-style" /> </denyUrlSequences> <fileExtensions> <add fileExtension=".sql" allowed="false" /> <add fileExtension=".pl" allowed="false" /> </fileExtensions> </requestFiltering> --> </security> <directoryBrowse enabled="true" /> <caching> <profiles> <add extension=".php" policy="DisableCache" kernelCachePolicy="DisableCache" /> <add extension=".html" policy="CacheForTimePeriod" kernelCachePolicy="CacheForTimePeriod" duration="14:00:00:00" /> </profiles> </caching> <rewrite> <rules> <rule name="block favicon" stopProcessing="true"> <match url="favicon\.
/favicon.ico$" ignoreCase="false" negate="true" /> </conditions> <action type="Rewrite" url="index.php?q={R:1}" appendQueryString="true" /> </rule> </rules> </rewrite> <defaultDocument> <files> <remove value="index.php" /> <add value="index.php" /> </files> </defaultDocument> <!-- HTTP Errors section should only be enabled if the "Error Pages" feature has been delegated as "Read/Write" at the Web Server level. <httpErrors> <remove statusCode="404" subStatusCode="-1" /> <error statusCode="404" prefixLanguageFilePath="" path="/index.php" responseMode="ExecuteURL" /> </httpErrors> --> </system.webServer> </configuration>
Фильтрация запросов
Это приложение использует директиву FilesMatch

СЛУЖБЫ IIS используют модуль фильтрации запросов, чтобы ограничить доступ браузера к файлам, которые являются компонентами приложения. Пример приложения в файле Web.config может выглядеть следующим образом:
<security> <requestFiltering> <denyUrlSequences> <add sequence="engine" /> <add sequence="inc" /> <add sequence="info" /> <add sequence="install" /> <add sequence="module" /> <add sequence="profile" /> <add sequence="po" /> <add sequence="sh" /> <add sequence="theme" /> <add sequence="tpl(\.php" /> <add sequence="Root" /> <add sequence="Tag" /> <add sequence="Template" /> <add sequence="Repository" /> <add sequence="code-style" /> </denyUrlSequences> <fileExtensions> <add fileExtension=".(code-style\.pl|Entries.*|Repository|Root|Tag|Template|all-wcprops|entries|format)$" /> <action type="CustomResponse" statusCode="403" subStatusCode="0" statusReason="Forbidden" statusDescription="Access is forbidden." /> </rule>
Документ по умолчанию
В файле HTACCESS для примера приложения директива DirectoryIndex сообщает веб-серверу, какой файл следует загрузить, если имя файла не включено в URL-адрес.
# Set the default handler. DirectoryIndex index.php
Для служб IIS документ по умолчанию должен быть настроен в иерархии веб-сайта как обработчик модуля. Например, с PHP обработчик модуля обычно задается на уровне веб-сервера. Документ по умолчанию должен быть установлен на этом уровне, а не локально в контексте веб-сайта. Следующий код в файле Web.config может обеспечить следующее:
<defaultDocument> <files> <remove value="index.php" /> <add value="index./favicon.ico$" ignoreCase="false" negate="true" /> </conditions> <action type="Rewrite" url="index.php?q={R:1}" appendQueryString="true" /> </rule> </rules> </rewrite>
Перенаправления страниц ошибок / обработка
Некоторые приложения обрабатывают стандартные ошибки в области приложения. Директива ErrorDocument в файле HTACCESS примера приложения сообщает веб-серверу загрузить домашнюю страницу для любых ошибок 404 или «Файл не найден».
# Make Application handle any 404 errors. ErrorDocument 404 /index.php
Службы IIS используют директиву httpErrors для этой функции. Тем не менее, так как возможность установки этого параметра на уровне приложения отключена по умолчанию для СЛУЖБ IIS, этот раздел следует закомментировать.
<!-- HTTP Errors section should only be enabled if the "Error Pages" feature has been delegated as "Read/Write" at the Web Server level.<httpErrors> <remove statusCode="404" subStatusCode="-1" /> <error statusCode="404" prefixLanguageFilePath="" path="/index.php" responseMode="ExecuteURL" /> </httpErrors> -->
Просмотр каталогов
Другая мера безопасности приложений (или целостность) часто реализована— отключение просмотра каталогов от клиентов. Многие конфигурации веб-сервера позволяют пользователям просматривать список файлов в каталоге, который не содержит один из файлов документов по умолчанию. В htaccess-файле примера приложения это отключено с помощью
# Don't show directory listings for URLs which map to a directory. Options -Indexes
Iis ограничивает этот доступ в файле Web.config с помощью директивы directoryBrowse :
<directoryBrowse enabled="false" />
Старение кэша
Директивы кэширования используются для обеспечения кэширования статического содержимого в течение определенного периода времени, а динамическое содержимое вообще не кэшируется. В файле HTACCESS примера приложения используются директивы ExpiresBy , предоставляемые модулем mod_expires.
# Requires mod_expires to be enabled. <IfModule mod_expires.c> # Enable expirations. ExpiresActive On # Cache all files for 2 weeks after access (A). ExpiresDefault A1209600 # Do not cache dynamically generated pages. ExpiresByType text/html A1 </IfModule>
В Web.config-файле СЛУЖБЫ IIS используют модуль кэширования вывода и директиву кэширования для управления кэшированием. Для примера приложения можно включить кэширование для файлов .html не более 14 дней. Для PHP-файлов убедитесь, что кэширование вообще не выполняется с помощью кода:
<caching> <profiles> <add extension=".php" policy="DisableCache" kernelCachePolicy="DisableCache" /> <add extension=".html" policy="CacheForTimePeriod" kernelCachePolicy="CacheForTimePeriod" duration="14:00:00:00" /> </profiles> </caching>
- Перезапись URL-адресов IIS и маршрутизация Microsoft® ASP.
NET.
- Форум IIS.
Пример настройки кода в htaccess для web-разработчика
Прежде чем работать с файлами — делайте копии их!
Что такое .htaccess (от. англ. hypertext access) — файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов.
Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельных каталогах (папках), таких как управляемый доступ к каталогам, переназначение типов файлов и т.д., без изменения главного конфигурационного файла.
Файл .htaccess может быть размещён в любом каталоге. Директивы этого файла действуют на все файлы в текущем каталоге и во всех его подкаталогах (если эти директивы не переопределены директивами нижележащих файлов .htaccess).
Для того чтобы эти файлы .htaccess можно было использовать, необходимы соответствующие настройки главного конфигурационного файла (значение директивы AllowOverrideдолжно быть установлено All). Как правило, подавляющее большинство хостингов разрешают использовать свои файлы . Zeus [NC]
<limit get=»» post=»» head=»»>
Order Allow,Deny
Allow from all
Deny from env=bad_bot
</limit>
Список User Agent браузеров, роботов и пауков поисковых машин, веб-каталогов, менеджеров качалок, спам-ботов и плохих ботов можно найти на сайте List of User-Agents.
3. Запрещаем доступ для всех, кроме указанных IP-адресов
Если по какой-либо причине, вы хотите запретить всем или разрешить только отдельным IP-адресам доступ к вашему сайту — добавьте этот код в ваш .htaccess-файл:
#Запрещаем доступ для всех, кроме указанных IP-адресов
ErrorDocument 403 http://www.domainname.com
Order deny,allow
Deny from all
Allow from 154.24.48.155
Allow from 132.24.68.153
Не забудьте изменить domainname.com на ваше доменное имя.
4. Настраиваем SEO-Friendly 301 Redirect
Если вы перенесли доменное имя (или свой подсайт) или хотите перенаправлять пользователя на определенную страницу (страницы), без санкций со стороны поисковых машин, используйте этот код:
#Настраиваем SEO-Friendly 301 Redirect
Redirect 301 /1/file. html http://www.site.com/2/file.html
Не забудьте изменить site.com на ваше доменное имя, а /1/file.html и /2/file.html на соответствующие директории и страницы.
5. Создаем собственные страницы ошибок
Вам надоел стандартный вид страниц ошибок? Нет проблем — с помощью следующего кода, вы легко можете создать свою страницу и показывать пользователю именно ее:
ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php
Не забудьте создать в корневой директории вашего сервера папку error и разместить в ней соответствующие файлы.
6. Создаем черный список IP адресов
Устали от спам-комментариев или определенного пользователя? Просто заблокируйте его IP с помощью следующего кода, добавляемого в .htaccess-файл.
#Создаем черный список IP адресов
allow from all
deny from 195.176. 14.122
deny from 194.13.
Узнать IP адреса комментаторов можно или в логах Apache или с помощью сервисов статистики. У многих CMS есть свои встроенные средства для мониторинга адресов посетителей. Например, в DrupalIP- адреса комментаторов можно увидеть в административной панели — Отчеты.
7. Устанавливаем e-mail адрес по-умолчанию для администратора
Используйте данный код, для того, чтобы установить e-mail адрес по-умолчанию для администратора сервера.
#Устанавливаем e-mail адрес по-умолчанию для администратора
ServerSignature EMail
SetEnv SERVER_ADMIN default@domain.com
Не забудьте заменить default@domain.com — своим e-mail адресом.
8. Защищаем определенный файл
Нижеследующий код позволяет вам запретить доступ к любому файлу — при запросе будет выдаваться ошибка 403. Для примера я закрыл доступ к самому файлу htaccess, повысив общий уровень безопасности сайта.
#Защищаем . htaccess файл
<files .htaccess=»»>
order allow,deny
deny from all
</files>
9. Сжимаем элементы с помощью mod_deflate
В качестве альтернативы компрессии файлов с помощью Gzip, вы можете использовать mod_deflate (предположительно работает быстрее). Разместите следующий код в начале вашего файла .htaccess (также вы можете добавить перечисления .jpg|.gif|.png|.tiff|.ico):
#Сжимаем элементы с помощью mod_deflate
<ifmodule mod_deflate.c=»»>
<filesmatch .(js|css)$=»»>
SetOutputFilter DEFLATE
</filesmatch>
</ifmodule>
10. Добавляем срок жизни в заголовки
Данный код позволяет добавить сроки жизни в заголовки:
#Добавляем срок жизни в заголовки
<filesmatch .(ico|pdf|flv|jpg|jpeg|png|gif|swf)$=»»>
Header set Expires «Wed, 21 May 2010 20:00:00 GMT»
</filesmatch>
11. Устанавливаем страницы по-умолчанию
Обычно страницей по-умолчанию является index.html, однако с помощью этого кода вы можете настроить по-умолчанию любую другую страницу.
#Устанавливаем альтернативную страницу по-умолчанию
DirectoryIndex about.html
12. Защищаем паролем папки и файлы
Вы можете включить проверку пароля для доступа в любую папку или файл на вашем сервере, используя этот код:
#защита паролем файла
<files secure.php=»»>
AuthType Basic
AuthName «Prompt»
AuthUserFile /pub/home/.htpasswd
Require valid-user
</files>
#защита паролем папки
resides
AuthType basic
AuthName «This directory is protected»
AuthUserFile /pub/home/.htpasswd
AuthGroupFile /dev/null
Require valid-user
Для того, чтобы организовать доступ к файлу по паролю, необходимо создать файл . (.*)$ http://www.new.com/$1 [R=301,L]
Перенаправление используется в том случае, если вы переносите свой существующий сайт на новое доменное имя. В этом случае любой пользователь, который наберет в адресной строке www.old.com — будет перенаправлен на www.new.com.
14. Усиливаем кеширование
Использование этого правила не означает прямое ускорение загрузки вашего сайта. Оно предназначено для более быстрой загрузки сайта — для уже заходившего на него посетителя, путем отправки статуса 304 для тех элементов, которые не обновлялись.
Таким образом, при повторной загрузке страницы браузер посетителя не будет заново скачивать изображения, скрипты или CSS, а выведет те файлы, которые уже хранятся в его кешь. Вы можете изменить срок жизни кешь, путем корректирования его значения в годах (year), месяцах (month) или, например — секундах(seconds). В примере указан 1 год.
#Усиливаем кеширование
FileETag MTime Size
<ifmodule mod_expires. rss.xml$ http://feeds.feedburner.com/yourfeed [R=302,NC,L]
</ifmodule>
Изначально необходимо зарегистрировать ленту своего блога в сервисе Feedburner. Далее не забудьте заменить yourfeed на имя вашей ленты уже в Feedburner.
19. Запрещаем комментарии от пользователей без Referrer
Чаще всего спам-боты обращаются напрямую к файлу комментариев, например к wp-comments-post.php, не заходя на страницы записей вашего блога. Приведенный ниже код позволяет заблокировать комментарии, отправленные пользователями, которые пришли «из ниоткуда», позволяя комментировать только тем читателям, которые перешли на страницу вашего блога с каких-либо других страниц (например, результатов поиска Google).
#Запрещаем комментарии от пользователей без Referrer
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .comment\/reply\/*
RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (. (.*)$ www.domainname.com/$1
От себя добавлю, что вы можете использовать не только http-статусы, но и другие условия:
RedirectMatch (.*)\.gif$ http://www.myserver.com$1.png
RedirectMatch (.*\.jpg)$ http://www.myanother.com$1
Обязательно сделайте резервную копию файла .htaccessдо внесения изменений и проверьте работоспособность всего сайта — после добавления новых строк.
23. Защита от прямых ссылок для изображений через .htaccess
Хотлинк (Hotlink) — вставка прямых ссылок изображений или файлов с одного сайта на другие. Этот прием используется довольно часто, ну например, у вас на сервере не хватает места для хранения картинок и вы пользуетесь каким-либо бесплатным сервисом для хранения файлов изображений, т.е. загружаете картинку, получаете URL и вставляете его на свой сайт.
В итоге: вы сохраняете место для вашего сайта и используете пропускную способность хостинга для картинок, но это уже не ваше дело. Но вот как быть, если кто-то решил, что ваш сайт можно использовать как подобный сервис. http://(www\.)?domain\.com» local_ref=1
# File extensions that you want to protect
# Расширения файлов, которые нужно защитить
<FilesMatch «\.(bmp|jpe?g|gif|png)»>
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>
Это защита от хотлинка и модуль ImageCache — вместе они работают хорошо. Есть одно «но» — таким способом, не получится выдавать другую картинку; только защита своих изображений, что и является основной целью.
htaccess — Документация WordPress.org
.htaccess — это распределенный файл конфигурации, с помощью которого Apache обрабатывает изменения конфигурации для каждого каталога.
WordPress использует этот файл для управления тем, как Apache обслуживает файлы из своего корневого каталога и его подкаталогов. В частности, WP изменяет этот файл, чтобы иметь возможность обрабатывать красивые постоянные ссылки.
Эту страницу можно использовать для восстановления поврежденного файла . ([_0-9- [Л]
Правило перезаписи. index.php [Л]
# ЗАВЕРШИТЬ Мультисайт WordPress
Опции
Любые опции, которым предшествуют + , добавляются к текущим действующим опциям, а любые опции, которым предшествуют – , удаляются из действующих опций.
Возможные значения директивы Options — любая комбинация:
Нет
Все параметры отключены.
Все
Все опции, кроме MultiViews. Это значение по умолчанию.
ExecCGI
Выполнение сценариев CGI с использованием mod_cgi разрешено.
FollowSymLinks
Сервер будет переходить по символическим ссылкам в этом каталоге.
Включения
Серверные включения, предоставляемые mod_include, разрешены.
Включает NOEXEC
Включения на стороне сервера разрешены, но команды #exec cmd и #exec cgi отключены.
Индексы
URL-адрес сопоставляется с каталогом, а не DirectoryIndex, форматированным списком каталога.
MultiViews
Контент, согласованный «MultiViews» разрешены с использованием mod_negotiation.
SymLinksIfOwnerMatch
Переходите только по символическим ссылкам, если цель принадлежит тому же идентификатору пользователя, что и ссылка.
Это отключит все опции, а затем включит только FollowSymLinks, что необходимо для mod_rewrite.
Опции Нет Параметры
DirectoryIndex
DirectoryIndex устанавливает файл, который Apache будет обслуживать, если будет запрошен каталог.
Можно указать несколько URL-адресов, и в этом случае сервер вернет первый найденный.
DirectoryIndex index.php index.html /index.php
DefaultLanguage
DefaultLanguage приведет к тому, что все файлы, с которыми еще не связан определенный языковой тег, будут использовать это.
Язык по умолчанию en
Кодировка по умолчанию
Установите кодировку символов по умолчанию, отправляемую в заголовке HTTP. См.: Установка информации о кодировке в .htaccess
AddDefaultCharset UTF-8
Установить кодировку для определенных файлов
AddType 'text/html; кодировка=UTF-8' .html
Набор для определенных файлов
AddCharset UTF-8 .html
ServerSignature
Директива ServerSignature позволяет настроить завершающую строку нижнего колонтитула для документов, созданных сервером. При необходимости добавьте строку, содержащую версию сервера и имя виртуального хоста, на страницы, созданные сервером (внутренние документы об ошибках, списки каталогов FTP, вывод mod_status и mod_info и т. д., но не документы, созданные CGI, или пользовательские документы об ошибках).
On
добавляет строку с номером версии сервера и ServerName обслуживающего виртуального хоста
Off
подавляет строку нижнего колонтитула
ссылочного документа
SetEnv SERVER_ADMIN admin@site.com Электронная почта для подписи сервера
Принудительная загрузка файлов
Нижеследующее приведет к тому, что любые запросы на файлы, оканчивающиеся на указанные расширения, не будут отображаться в браузере, а вместо этого вызовут диалоговое окно «Сохранить как», чтобы клиент мог загрузить.
Приложение AddType/октетный поток .avi .mpg .mov .pdf .xls .mp4
Сжатие HTTP
Директива AddOutputFilter сопоставляет расширение имени файла с фильтрами, которые будут обрабатывать ответы от сервера перед их отправкой клиенту. Это дополнение к любым фильтрам, определенным в другом месте, включая SetOutputFilter и AddOutputFilterByType. Это сопоставление объединяется с уже действующими, переопределяя любые сопоставления, которые уже существуют для того же расширения. 9Mozilla/4\.0[678] без gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Принудительное сжатие для определенных файлов
SetOutputFilter DEFLATE
Директива Header позволяет отправлять заголовки HTTP для каждого запроса или только для определенных файлов. Вы можете просматривать HTTP-заголовки сайтов с помощью Firebug, Chrome Dev Tools, Wireshark или онлайн-инструмента.
Набор заголовков X-Pingback "http://www.askapache.com/xmlrpc.php" Заголовок устанавливает Content-Language "en-US"
Это удалит заголовки HTTP, используя всегда будет очень стараться их удалить.
Заголовок не установлен Pragma Заголовок всегда отключен WP-Super-Cache Заголовок всегда отключается
Защита паролем при входе в систему
Это очень полезно для защиты файла wp-login.php . Вы можете использовать этот генератор htpasswd.
Базовая аутентификация
AuthType Базовая
AuthName "Защищено паролем"
AuthUserFile /полный/путь/к/.htpasswd
Требовать действительного пользователя
Удовлетворить все
Дайджест-аутентификация
AuthType Дайджест
AuthName "Защищено паролем"
AuthDigestDomain /wp-login.php https://www.
askapache.com/wp-login.php
AuthUserFile /полный/путь/к/.htpasswd
Требовать действительного пользователя
Удовлетворить все
Требовать определенный IP-адрес
Это способ разрешить доступ только к определенным IP-адресам.
ErrorDocument 401 по умолчанию
ErrorDocument 403 по умолчанию
Отклонить заказ, разрешить
Запретить от всех
Разрешить с локального хоста 198.101.159.98
Защита конфиденциальных файлов
Это запрещает любой веб-доступ к вашему файлу wp-config, error_logs, php.ini и htaccess/htpasswds.
Запретить заказ, разрешить
Запретить от всех
Требовать SSL
Это заставит использовать SSL и потребует точное имя хоста, иначе будет перенаправлено на версию SSL. Полезно в файле
/wp-admin/.htaccess
.
SSLOptions +StrictRequire
SSLRequireSSL
SSLRequire %{HTTP_HOST} eq "www.wordpress.com"
Документ об ошибке 403 https://www.wordpress.com
Official Apache HTTP Server Tutorial: .
htaccess files
Official Htaccess Directive Quick Reference
Htaccess Tutorial
Google PageSpeed for Developers
Stupid Htaccess Tricks
Advanced Mod_Rewrite
htaccess for subdirectories
Using Permalinks
Changing Права доступа к файлам
Навыки UNIX Shell
Rewrite API
5 способов использовать файл WordPress .htaccess для улучшения вашего сайта — Pagely
Веб-серверы используют файлы конфигурации для включения или отключения функций. Одним из наиболее важных из этих файлов для пользователей WordPress является файл .htaccess .
Файл WordPress .htaccess позволяет настраивать аспекты функциональности вашего сайта. Например, вы можете использовать его, чтобы запретить определенным IP-адресам доступ к вашему веб-сайту или защитить паролем определенные веб-страницы, и это только для начала.
Понимание того, как это работает и чего с его помощью можно достичь, может быть запутанным без руководства.
В этой статье мы поговорим подробнее о WordPress .htaccess , где его найти и что он может сделать для вас. Мы рассмотрим пять способов, которыми вы можете использовать его для улучшения своего веб-сайта WordPress. Давайте начнем!
Что такое файл WordPress
.htaccess (и где его найти) .htaccess — один из основных файлов WordPress — установочные файлы WordPress по умолчанию, отвечающие за основные функции платформы. Этот конкретный файл содержит настройки, которые определяют, как WordPress отображает URL-адреса и как он взаимодействует с вашим сервером.
Изменение файла .htaccess не так страшно, как вы думаете. Пока вы следуете инструкциям и не добавляете и не удаляете код, не зная, что он делает, все будет в порядке. Однако на всякий случай всегда следует создавать резервную копию своего веб-сайта, прежде чем вносить такие изменения.
Чтобы найти и отредактировать файл WordPress .htaccess , вам понадобится FTP-клиент, например FileZilla, или файловый менеджер, предоставляемый Cpanel, и аналогичные решения.
Подключитесь к своему веб-сайту с помощью клиента, а затем перейдите в корневую папку (также известную как корневой каталог) вашего веб-каталога (часто public_html ) на вашем сервере и откройте ее. Вы увидите список файлов php. Файл WordPress .htaccess будет прямо внутри:
Если вы не видите файл .htaccess, это может быть связано с тем, что в вашем файловом браузере есть скрытые файлы, начинающиеся с точки, потому что эти важные файлы конфигурации не нужны. для частого редактирования. Чтобы показать скрытые файлы, вам нужно установить или снять флажок. Вам могут понадобиться инструкции Google о том, «как отображать скрытые файлы с помощью <имя вашего FTP-клиента или файлового браузера>». 9index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Правило перезаписи. /index.php [Л] # ЗАВЕРШИТЬ WordPress
5 способов использовать файл WordPress
.htaccess для улучшения вашего сайта Если вы следовали нашим предыдущим советам, у вас уже должна быть резервная копия вместо всего вашего сайта WordPress.
Однако также может быть хорошей идеей сохранить копию файла .htaccess перед его редактированием. Таким образом, если что-то пойдет не так, вам просто нужно восстановить один файл вместо полной резервной копии.
После этого вы можете приступить к редактированию файла. Вы можете многого достичь с помощью . htaccess , поэтому мы собираемся показать вам пять примеров, чтобы дать вам представление о возможностях, которые предлагает этот файл.
1. Перенаправить посетителей на пользовательскую страницу ошибки
Одной из наиболее полезных функций .htaccess является то, как она позволяет реализовать перенаправления в WordPress. Таким образом, вы можете отправлять пользователей, которые пытаются посетить определенные URL-адреса, на другие страницы. Это особенно полезная функция в тех случаях, когда посетители пытаются получить доступ к несуществующим страницам вместо отображения сообщения об ошибке 404. Перенаправления также имеют важные преимущества SEO.
Чтобы реализовать эту функцию, откройте файл WordPress .htaccess и добавьте следующий код:
RewriteEngine On
Перенаправление 301 /original-url/ http://example.com
Вам, конечно, потребуется заменить оба заполнителя в этом коде. Например, если вы хотите перенаправить людей, которые посещают http://yourwebsiteurl.com/test-page , на вашу домашнюю страницу, вот как это будет выглядеть:
RewriteEngine On
Перенаправление 301 /test-page/ http://example.com
При таком подходе вы можете перенаправлять пользователей либо на пользовательскую страницу с ошибкой, либо в любой другой раздел вашего веб-сайта. Однако, чтобы это работало, вам необходимо отслеживать ошибки 404, которые получают ваши посетители, что вы можете делать либо с помощью плагинов, таких как перенаправление, либо с помощью инструмента аналитики.
2. Запрет определенных IP-адресов
В некоторых случаях вам может понадобиться запретить определенным людям доступ к вашему веб-сайту.
Это может быть потому, что они пытаются украсть ваш контент, взломать ваш сайт или ведут себя оскорбительно. Если вы столкнетесь с одной из таких ситуаций, вы можете быстро заблокировать их IP-адреса на своем веб-сайте всего несколькими строками кода.
Вот код, который нужно добавить в .htaccess для реализации этой функции:
Требовать все предоставленные
Require not ip xxx.xxx.xxx.xxx
IP-адрес, который вы хотите заблокировать, должен заменить заполнитель xxx.xxx.xx.x в этом коде. Просто убедитесь, что вы используете правильный IP-адрес, чтобы не заблокировать не того человека.
Чтобы запустить эту функцию, вам может понадобиться найти способ отслеживать, с каких IP-адресов осуществляется доступ к вашему веб-сайту. Вы можете использовать плагин безопасности с функциями ведения журнала активности, чтобы следить за подозрительной активностью.
3. Защитите паролем свои папки WordPress
Одна из самых крутых вещей, которую вы можете сделать с .
htaccess , это защита паролем определенных каталогов. Таким образом, вы можете обеспечить доступ к ним только тем людям, которым вы разрешили. Однако этот процесс требует немного больше работы, чем просто редактирование .htaccess .
Первое, что вам нужно сделать, это создать текстовый файл с именем .htpasswds , который будет содержать ваше имя пользователя и пароль, которые вы хотите использовать. Для простоты мы рекомендуем вам использовать это онлайн .htapswds , а затем загрузите полученный файл на свой компьютер:
Когда у вас будет готов файл .htpasswds , зайдите на свой сайт через FTP и загрузите его в каталог, который вы хотите защитить паролем. В этом примере мы поместили его в папку wp-admin , чтобы защитить доступ к нашей панели инструментов.
Теперь вы собираетесь создать новый файл .htaccess в каталоге wp-admin . Для этого щелкните правой кнопкой мыши в любом месте папки и выберите значок 9.
0265 Создайте новый файл , затем назовите этот файл .htaccess :
Теперь отредактируйте этот файл. Он будет пустым, так как вы его только что создали, поэтому добавьте следующий код:
AuthName "Только для администраторов"
AuthUserFile /public_html/wp-admin/.htpasswds
AuthGroupFile /dev/null
Основной тип авторизации
require user yourusername
Здесь вам нужно отредактировать две строки. Первый — это путь, который идет после AuthUserFile 9.0266 , который должен указать, куда вы поместили файл .htpasswds . Затем введите имя пользователя, которое вы установили в файле .htpasswds , где находится заполнитель yourusername .
Сохраните изменения в новом файле .htaccess , и все готово. В следующий раз, когда вы попытаетесь получить доступ к панели управления, вы увидите запрос на ввод пароля!
4. Увеличьте размер загружаемых файлов WordPress
По умолчанию WordPress ограничивает размер файлов, которые вы можете загружать на свой веб-сайт.
Таким образом, вы не застрянете, если в процессе загрузки возникнут какие-либо ошибки. Однако вы можете увеличить это ограничение, чтобы разрешить файлы большего размера.
Обратите внимание, что вам следует проконсультироваться с вашим хостинг-провайдером, прежде чем вносить это изменение. Некоторые управляемые хосты, такие как мы здесь, в Pagely, управляют этими настройками сервера для вас, и их настройка может вызвать проблемы.
После того, как вы проверили свой хост, вам просто нужно добавить несколько строк кода в .htaccess :
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value max_execution_time 300
php_value max_input_time 300
В этом примере мы увеличили максимальный размер файла до 128 МБ. Это также дает вашему веб-сайту 300 секунд для обработки загрузки до истечения времени ожидания, поэтому он может справиться с увеличением размера. Вы можете увеличить оба параметра еще больше, хотя 128 МБ должно быть более чем достаточно для большинства веб-сайтов.
9http(s)?://(www.)?example.com [NC]
RewriteRule .(jpg|jpeg|png|gif)$ http://placeholder.png [NC,R,L]
Этот код проверяет, соответствует ли веб-сайт, который пытается загрузить ваши изображения, URL-адресу в третьей строке ( вашсайт.com) . Если это не так, и они пытаются загрузить файл изображения, который использует один из форматов, перечисленных ниже, вместо этого будет загружен placeholder.png .
В большинстве случаев владельцы веб-сайтов придумывают изображение, которое говорит что-то вроде «Прекратите хотлинковать наши изображения!» Тем не менее, вы можете заменить placeholder.png с любым изображением, которое вы хотите, используя любое имя, которое вы предпочитаете.
Заключение
Когда дело доходит до основных файлов WordPress, немногие из них столь же универсальны и мощны, как .htaccess . Этот единственный файл регулирует множество важных аспектов, таких как структура вашей постоянной ссылки.
В этой статье мы показали вам лишь некоторые из этих функций.