Полное руководство по файлу .htaccess WordPress: безопасность, SSL, перенаправление, правила, хитрости и многое другое.
Полное руководство по файлу .htaccess WordPress: безопасность, SSL, перенапр.
Очень тревожно контролировать поведение своего веб-сайта, поскольку оно напрямую влияет на взаимодействие с клиентами. Что делать, если вы знаете, как работать с файлом .htaccess, чтобы повысить безопасность, скорость и производительность вашего сайта !!!
Файл .htaccess или просто файл htaccess – отличный инструмент, который позволяет разместить на вашем веб-сайте несколько интересных вещей. Он управляет тем, как Apache обслуживает файлы из своего корневого каталога и всех подкаталогов в . Файл Htaccess – важный, но в то же время темпераментный системный файл. Небольшая ошибка кода в файле htaccess может привести к сбоям в работе сервера. Таким образом, всегда следует поддерживать
Table of Contents
Что такое файл .htaccess в ? Как создать файл .htaccess? Установив постоянные ссылки Ручной метод
Как редактировать файл .htaccess? Использование cPanel Использование FTP-клиента Использование плагина
Оптимизация производительности с помощью HTACCESS Защитите сайт с помощью файла HTACCESS Перенаправление URL-адресов с использованием файла HTACCESS Правила файла HTACCESS для постоянных ссылок Настройка постоянных ссылок Добавить и настроить постоянные ссылки блога Изменение постоянных ссылок с помощью .htaccess
Как заставить SSL с .htaccess? Дополнительные советы и рекомендации для файла .htaccess Подводить итоги
Что такое файл .htaccess на веб-сайте ?
Файл htaccess – это файл гипертекстового доступа к конфигурации сервера. Это поможет вам определить правила того, как сервер Apache будет обрабатывать ваш сайт. Имя файла имеет точку (.) В начале, чтобы указать, что это скрытый файл. Этот файл изменен для настройки постоянных
Но иногда пользователю может быть сложно найти файл htaccess после
Как создать файл .htaccess в ?
Существует два следующих метода создания файла htaccess:
1. Установив постоянные ссылки
Вам не нужно много делать. Просто перейдите в Настройки → Постоянные ссылки на панели инструментов . Затем нажмите кнопку «Сохранить изменения» на экране «Постоянная ссылка». Он создаст файл «.htaccess» в корневом каталоге вашего сайта.
2. Ручной метод
В некоторых редких случаях файл не создается автоматически из-за некоторых разрешений на чтение / запись / создание на стороне сервера. В этом случае вы создадите
файл .htac cess вручную. Для этого вы можете выполнить следующие простые шаги:
а. Создайте текстовый файл в Блокноте на своем компьютере.
б. Скопируйте и вставьте приведенный ниже код в этот файл:
# BEGIN <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-dRewriteRule. /index.php [L] </IfModule> # END
c. Измените расширение текстового файла с .txt на .htaccess.
d. Теперь загрузите файл .htaccess в корневой каталог веб-сайтов через диспетчер файлов в cPanel по следующему адресу:… / home / yourweb / public_html / .htaccess
Как отредактировать файл .htaccess в ?
Возможно, вам потребуется изменить файл HTACCESS по умолчанию , чтобы
1. Редактирование файла .htaccess с помощью cPanel
- Прежде всего, войдите в свою cPanel.
- Перейдите в Управление файлами и выберите опцию Диспетчер файлов.
- Выберите public_html / www или корень документа. Установите флажок «Включить скрытый файл», если он еще не установлен.
- Наконец, щелкните правой кнопкой мыши файл .htaccess и выберите «Изменить». Следуйте инструкциям cPanel, чтобы отредактировать файл.
2. Редактирование файла .htaccess с помощью FTP-клиента
Второй метод редактирования файла .htaccess – через FTP-клиент. Доступно множество бесплатных клиентских решений FTP.
- Войдите в свою учетную запись FTP-хостинга.
- Перейдите в корневой каталог вашей установки, чтобы включить Показать скрытый I = “ftp” class = “alignnone size-full wp-image-8077 ″ src =”
, чтобы найти .htaccess файл.
Параметры меню → Выбрать сервер → Принудительно показывать скрытые файлы
- Перейдите в корневую папку своего домена и загрузите файл .htaccess.
- Вот и все. Теперь вы можете редактировать файл .htaccess.
3. Редактирование .htaccess из панели управления с помощью плагина
Третья альтернатива редактированию файла .htaccess – использование плагинов. Существует множество бесплатных плагинов, которые позволяют редактировать файл .htaccess с панели инструментов WP. Один из самых популярных плагинов, который вы можете использовать, –
- После того, как вы установили и активировали этот плагин, вы увидите опцию SEO на левой панели панели инструментов .
- При нажатии на нее откроется новое окно. На верхней панели выберите «Функции» и «Включить страницы дополнительных настроек». Затем нажмите кнопку «Сохранить изменения».
- Затем на левой панели панели инструментов перейдите в раздел Инструменты в разделе SEO, чтобы открыть редактор файлов, как показано ниже.
SEO → Инструменты → Редактор файлов
- Внесите изменения в свой файл .htaccess здесь и нажмите Сохранить изменения в .htaccess после редактирования.
Вы также можете использовать плагин
(* Примечание. Не забудьте сделать резервную копию вашего файла .htaccess. Небольшая ошибка может привести к серьезным изменениям на вашем сайте. Изменения, которые вы внесли, чтобы их можно было отменить в случае необходимости.)
В файле htaccess вы можете сделать множество вещей, чтобы повысить скорость, производительность и безопасность . Давайте посмотрим поближе.
Общие проблемы с производительностью из-за файла .htaccess в
Каждый раз, когда кто-то посещает ваш веб-сайт, веб-сервер загружает все конфигурации файлов .htaccess. Он ищет все каталоги в домене. Это повлияет на производительность сайтов с
- предупреждения о длине содержимого сообщения
- превышает максимальный размер загрузки
- 413 ошибка объекта запроса
- внутренняя ошибка сервера 500
Таким образом, файл .htaccess следует использовать, когда основная конфигурация сервера недоступна. Что еще можно сделать для повышения производительности вашего сайта? Давайте разберемся с различными приемами повышения производительности с помощью файлов .htaccess :
Повышение производительности сайта с помощью файла .htaccess
Вы можете настроить свой веб-сайт следующими способами для повышения его производительности с помощью файла .htaccess. Вам просто нужно скопировать и вставить указанные ниже коды в файл .htaccess для каждого подходящего варианта, который вы хотите использовать для своего сайта.
1. Отключите AllowOverride
Вы можете запретить файлам .htaccess снижать производительность, включив AllowOverride только в необходимых каталогах. Как если бы AllowOverride был включен во всех каталогах, сервер проверит все. Итак, отключите AllowOverride в корневом файле .htaccess сайта. Его следует включать только в необходимых каталогах через файл конфигурации сервера.
# increase performance by disabling AllowOverride AllowOverride None
2. Передайте набор символов
Набор символов представляет собой список символов, распознаваемых аппаратным / программным обеспечением. Итак, чтобы указать браузеру использовать определенный набор символов для отображения страницы, вам необходимо указать набор символов веб-страницы. Чтобы предоставить информацию о кодировке символов, напрямую влияет на взаимодействие веб-страницы между сервером и клиентом, отправку форм, подключения к базе данных и т.д. Ваш браузер должен будет угадать, если вы не передаете набор символов, и он может отображать «мусорный» текст. Итак, вы можете передать набор символов по умолчанию, чтобы предотвратить отображение ошибок следующим образом:
# pass the default character set AddDefaultCharset utf-8
3. Сохраните пропускную способность
Ваша пропускная способность должна соответствовать изменениям макета, росту трафика, скачкам трафика и иметь место для роста. Чтобы подготовиться к будущему, вы можете добавить некоторые директивы для повышения производительности на серверах с поддержкой PHP:
# preserve bandwidth for PHP enabled servers <ifmodule mod_php4.c> php_value zlib.output_compression 16386 </ifmodule>
4. Установите часовой пояс сервера.
Синхронизируйте сервер в хронологическом порядке в соответствии с часовым поясом указанного штата. Вы можете установить любой часовой пояс из
# set the server timezone SetEnv TZ America/Washington
5. Установите адрес электронной почты администратора.
Укажите адрес электронной почты по умолчанию для администратора сервера.
# set the server administrator email SetEnv SERVER_ADMIN [email protected]
6. Включите кеширование браузера.
Браузер
Добавьте этот код, чтобы включить кеширование браузера:
## EXPIRES CACHING ## <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 year" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 2 days" </IfModule>
7. Включите кеширование файлов.
Кэширование файлов на стороне сервера помогает обслуживать нескольких посетителей из одного и того же кеша, не требуя, чтобы все они делали запросы с исходного сервера. Это снижает нагрузку на исходный сервер и ускоряет первый просмотр веб-страницы. Итак, .htaccess дает вам большие привилегии: вы можете указать тип контента, который будет кэшироваться, и значение времени для этого. Давайте рассмотрим несколько примеров, чтобы обобщить правила .htaccess для кэшированного контента следующим образом:
# cache images and flash content for one month <FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf)$"> Header set Cache-Control "max-age=2592000" </FilesMatch>
# cache text, css, and javascript files for one week <FilesMatch ".(js|css|pdf|txt)$"> Header set Cache-Control "max-age=604800" </FilesMatch>
# cache html and htm files for one day <FilesMatch ".(html|htm)$"> Header set Cache-Control "max-age=43200" </FilesMatch>
# implement minimal caching during site development <FilesMatch ".(flv|gif|jpg|jpeg|png|ico|js|css|pdf|swf|html|htm|txt)$"> Header set Cache-Control "max-age=5" </FilesMatch>
# explicitly disable caching for scripts and other dynamic files <FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$"> Header unset Cache-Control </FilesMatch>
# alternate method for file caching ExpiresActive On ExpiresDefault A604800 ExpiresByType image/x-icon A2419200 ExpiresByType application/x-javascript A2419200 ExpiresByType text/css A2419200 ExpiresByType text/html A300
# disable caching for scripts and other dynamic files <FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$"> ExpiresActive Off </FilesMatch>
8. Установите язык по умолчанию и набор символов.
Вы можете установить язык по умолчанию и набор символов для страниц, обслуживаемых вашим сервером, в соответствии с вашими потребностями.
# set the default language DefaultLanguage en-US
# set the default character set AddDefaultCharset UTF-8
9. Объявите особые / дополнительные типы MIME.
Тип MIME сообщает, какой тип расширения содержит какой тип файла. Например, расширение .html относится к документу html. В файле .htaccess вы можете указать дополнительные типы MIME следующим образом:
# add various mime types AddType application/x-shockwave-flash .swf AddType video/x-flv .flv AddType image/x-icon .ico
10. Отправляйте заголовки без мета-тегов
Это используется для изменения текущего набора символов и языка для использования в конкретном каталоге:
# send the language tag and default character set # AddType 'text/html; charset=UTF-8' html AddDefaultCharset UTF-8 DefaultLanguage en-US
11. Ограничьте методы запроса GET / PUT
Сайты, размещенные на серверах Apache, могут принимать разные методы запросов. Например, методы GET, POST, DELETE и PUT и т.д. Некоторые из них полезны, некоторые просто не нужны, поскольку увеличивают общую ответственность за безопасность вашего сайта. Таким образом, вы можете заблокировать вещи, заблокировав или разрешив только определенные типы HTTP-запросов.
# limit server request methods to GET and PUT Options -ExecCGI -Indexes -All RewriteEngine on RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK|OPTIONS|HEAD) RewriteRule .* - [F]
12. Обработка файлов на основе метода запроса
Это правило заключается в обработке файлов в соответствии с указанными методами запроса следующим образом:
# process files according to server request method Script PUT /cgi-bin/upload.cgi Script GET /cgi-bin/download.cgi
13. Выполнение файлов различных типов с помощью сценария CGI.
Он используется, когда определенные типы файлов необходимо обработать с помощью определенного сценария cgi:
# execute all png files via png-script.cgi Action image/png /cgi-bin/png-script.cgi
14. Ускорьте работу своего сайта, отключив автосохранение редакций.
сохраняет редакции ваших страниц и сообщений при каждом обновлении. Это невероятно полезная функция, позволяющая увидеть последние изменения. Но это может снизить скорость вашего сайта. Если вы хотите пожертвовать удобством редакции, чтобы иметь более быстрый веб-сайт, используйте этот код в файле wp-config.php:
define(WP_POST_REVISIONS, false);
Когда вы снова захотите включить эту функцию, просто удалите эту строку.
Все это было связано с повышением производительности. Точно так же файл htaccess помогает повысить безопасность. Давайте узнаем, как это сделать.
Файл .htaccess и безопасность
Совершенно очевидно, что несколько потенциальных уязвимостей остаются без внимания при неконтролируемой установке . Даже пользователь среднего уровня, не смейте связываться с файлом .htaccess. Но файл .htaccess имеет большие возможности для повышения безопасности, предотвращая многие типы атак на веб-сайты. Вы можете переопределить многие параметры конфигурации, чтобы защитить свой сайт. Вы можете попробовать эти уловки с файлом .htaccess для большей безопасности :
1. Защитите админку от несанкционированного доступа.
В папке wp-admin есть файлы, необходимые для запуска панели управления . Таким образом, всем вашим посетителям
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName " Admin Access Control" AuthType Basic <LIMIT GET> order deny,allow deny from all # whitelist My IP address allow from xx.xx.xx.xxx # whitelist John's IP address allow from xx.xx.xx.xxx </LIMIT>
2. Защита паролем папки администратора
Вы можете получить доступ к своему сайту из разных мест, например, из открытых интернет-сайтов. В этот момент ограничение доступа к определенным IP-адресам может не работать для вас. Таким образом, в админку можно добавить дополнительную защиту паролем.
Для этого вам необходимо создать файл .htpasswds. Для этого можно использовать
/home/user/.htpasswds/public_html/wp-admin/passwd/
Затем создайте файл .htaccess и загрузите его в каталог / wp-admin /. Теперь добавьте следующий код:
AuthName "Admins Only" AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/passwd AuthGroupFile /dev/null AuthType basic require user putyourusernamehere <Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files>
3. Отключить просмотр каталогов
Многие эксперты по безопасности предлагают отключить просмотр каталога. Хакеры могут заглянуть в каталог вашего сайта, чтобы найти уязвимый файл с просмотром каталогов. Итак, чтобы затруднить просмотр каталога на вашем сайте, вы добавите эту строку в файл .htaccess:
Options -Indexes
4. Отключите выполнение PHP в некоторых каталогах .
Иногда хакеры взламывают сайт и вводят дополнительный отрывок. Вторичные файлы замаскированы в папки / wp-includes / или / wp-content / uploads /. Чтобы предотвратить это, вы должны повысить безопасность своего сайта, отключив файлы PHP. Вы можете сопровождать этот код, чтобы отключить выполнение PHP:
<Files *.php> deny from all </Files>
5. Защитите файл конфигурации wp-config.php
Еще один наиболее важный файл – wp-config.php. Он содержит информацию для входа в вашу базу данных , а также другие важные настройки обслуживания. Это нужно беречь. Для этого просто используйте этот код:
<files wp-config.php> order allow,deny deny from all </files>
6. Запретить подозрительные IP-адреса
Если с определенного IP-адреса поступают необычно высокие запросы, их можно заблокировать. Добавьте для этого следующий код:
<Limit GET POST> order allow,deny deny from xxx.xxx.xx.x allow from all </Limit>
7. Отключите хотлинкинг изображений в с помощью .htaccess
Hotlinking – это процесс обмена изображением путем прямой ссылки на ваш сайт. Это может негативно повлиять на ваш сайт и замедлить его работу. Вы можете предотвратить хотлинкинг, добавив этот фрагмент кода в свой файл .htaccess:
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourwebsite.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourotherwebsite.com [NC] RewriteRule .(jpg|jpeg|png|gif)$ http://i.imgur.com/g7ptdBB.png [NC,R,L]
8. Защитите свои файлы плагинов .
Плагины добавляют невероятную функциональность вашему сайту. Но они также могут сделать ваш сайт уязвимым для злоумышленников. Они могут предоставить прямой доступ неавторизованным пользователям и могут поставить под угрозу безопасность вашего сайта. Но они добавляют на ваш сайт потрясающие функции, поэтому не стоит отказываться от них. Скорее вы можете добавить этот код, чтобы никто не имел прямого доступа к вашим файлам плагина:
<files ~ ".(js|css)$"="".(js|css)$""> order allow,deny allow from all </files>
9. Блокировать файлы, содержащие только файлы.
Есть определенные файлы, к которым пользователь никогда не должен получать доступ. Вы можете заблокировать доступ к этим файлам, поместив следующий код в свой файл .htaccess:
# Block the include-only files. <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L] </IfModule>
10. Отключите доступ к XML-RPC файлу с помощью .htaccess.
Установка идет с файлом xmlrpc.php. Он позволяет сторонним приложениям подключаться к вашему сайту . Рекомендуется отключить этот файл, если вы не используете на своем сайте сторонние приложения. Вам поможет следующий фрагмент кода:
# Block xmlrpc.php requests <Files xmlrpc.php> order deny,allow deny from all </Files>
11. Блокировка сканирования авторов в
Это распространенная методика атаки методом грубой силы для запуска сканирования автора на сайте . Он используется для взлома паролей для известных имен пользователей. Вы можете предотвратить эти атаки, заблокировав сканирование авторов. Фрагмент кода для этого:
# BEGIN block author scans RewriteEngine On RewriteBase / RewriteCond %{QUERY_STRING} (author=d+) [NC] RewriteRule .* - [F] # END block author scans
12. Блокируйте злых роботов, злоумышленников и офлайн-браузеры.
В вашем пользовательском пространстве может быть нежелательная нечисть. Для его устранения можно составить список запрещенных агентов. Вы можете использовать этот блок кода для ведения черного списка злых сущностей:
# deny access to evil robots site rippers offline browsers and other nasty scum RewriteBase / RewriteCond %{HTTP_USER_AGENT} ^Anarchie [OR] RewriteCond %{HTTP_USER_AGENT} ^ASPSeek [OR] RewriteCond %{HTTP_USER_AGENT} ^attach [OR] RewriteCond %{HTTP_USER_AGENT} ^autoemailspider [OR] RewriteCond %{HTTP_USER_AGENT} ^Xaldon WebSpider [OR] RewriteCond %{HTTP_USER_AGENT} ^Xenu [OR] RewriteCond %{HTTP_USER_AGENT} ^Zeus.*Webster [OR] RewriteCond %{HTTP_USER_AGENT} ^Zeus RewriteRule ^.* - [F,L]
Вы также можете перенаправить злых агентов на адский сайт вместо того, чтобы отображать сообщение об ошибке в последней строке приведенного выше кода с помощью строки Rewrite. Чтобы перенаправить их, вы замените последнюю строку следующим кодом:
#redirecting the evil agents RewriteRule ^.*$ http://www.new-website.com [R,L]
Или перенаправить в черную дыру поддельных писем:
RewriteRule ^.*$ http://english-61925045732.spampoison.com [R,L]
13. Отключите подпись сервера.
Вы можете отключить цифровую подпись, которая иначе идентифицировала бы сервер. Это может быть угрозой безопасности, поскольку вы, по сути, сообщаете злоумышленникам об известных уязвимостях в вашей системе. Итак, чтобы скрыть подпись сервера, вы напишите:
# disable the server signature ServerSignature Off
.htaccess: URL-адреса перенаправления и многое другое
Редирект – это способ сообщить вашим читателям, что страница, которую они хотят прочитать, перемещена в другое место. Браузер автоматически перенаправляет их на новую страницу. Существуют различные типы перенаправления, такие как перенаправление 301, перенаправление 302, перенаправление 307 и т.д. Здесь вы увидите трюки перенаправления .htaccess следующим образом:
1. Важное примечание о перенаправлении через mod_rewrite
Необходимо включить RewriteEngine для всех перенаправлений с помощью директивы mod_rewrite. директива mod_rewrite обычно включается в файл конфигурации сервера или корневой файл .htaccess. Если он не включен туда, он должен быть в первой строке в любом блоке кода, который использует функцию перезаписи. Чтобы включить его, вы напишите:
# enable rewrite engine RewriteEngine on
2. Перенаправление из домена «WWW» в домен «не в Интернете»
Это хорошая методика .htaccess для SEO, известная как канонизация www. Для этого используется 301 редирект. Лучше протестировать после подготовки 301 редиректа и удалить его при возникновении ошибки. Убедитесь, что вы добавили косую черту / при связывании каталогов. Наконец, используйте это последовательно со всеми ссылками субдомена www или никогда не используйте его. Вы можете использовать этот фрагмент кода для перенаправления с www на домен без www следующим образом:
# permanently redirect from www domain to non-www domain RewriteEngine on Options +FollowSymLinks RewriteCond %{HTTP_HOST} ^www.domain.tld$ [NC] RewriteRule (.*) http://domain.tld/$1 [R=301,L]
3. Перенаправить http на https с помощью файла .htaccess в .
Этот метод сначала проверяет, включен ли HTTPS на вашем сервере или нет. Если да, то он перенаправит запрос на вашу домашнюю страницу.
IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} ^on$ [NC] RewriteCond %{QUERY_STRING} !https-is-on [NC] RewriteRule (.*) /?https-is-on [R=301,L] </IfModule>
Перенаправлять все запросы на протокол HTTPS, если https включен; вы можете использовать это:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule>
Если вас беспокоят проблемы с поисковой оптимизацией после перенаправления, вы можете ознакомиться с нашим подробным руководством по миграции веб-сайтов:
4. Перенаправление со старого домена на новый.
Перенаправить пользователей в новое место – обычное дело. Для этого используется следующее правило:
# redirect from old domain to new domain RewriteEngine On RewriteRule (.*) http://www.new-domain.com/$1 [R=301,L]
5. Перенаправление строковых вариаций на определенный адрес
Если вы хотите перенаправить любой запрос, содержащий вариант строки, на конкретный адрес, вы будете использовать это правило:
# redirect all variations of a specific string RewriteRule ^some-string http://www.domain.com/index.php/blog/target [R]
В качестве альтернативы вы можете использовать два правила сопоставления:
# map variations to same directory on same server AliasMatch ^/director(y|ies) /www/docs/target
# map variations to same directory on different server RedirectMatch ^/[dD]irector(y|ies) http://domain.com
6. Отправляйте посетителей на поддомен
Он будет перенаправлять всех посетителей на выбранный вами субдомен. Вы замените субдомен, домен и tld на соответствие вашему субдомену, домену и домену верхнего уровня соответственно в следующем коде:
# send visitors to a subdomain RewriteCond %{HTTP_HOST} !^$ RewriteCond %{HTTP_HOST} !^subdomain.domain.com$ [NC] RewriteRule ^/(.*)$ http://subdomain.domain.tld/$1 [L,R=301]
7. Перенаправление посетителей на временный сайт во время разработки сайта
Во время обслуживания или разработки сети отправляйте посетителей на другой сайт. Это очень полезный метод, позволяющий уберечь посетителей от любых недоразумений во время веб-разработки, предоставляя вам полный доступ к сайту. Вот общие правила .htaccess для этого:
# redirect all visitors to alternate site but retain full access for you ErrorDocument 403 http://www.alternate-site.com Order deny,allow Deny from all Allow from 99.88.77.66
8. Другие фантастические приемы перенаправления
-
- Вы также можете перенаправить весь сайт, используя 301 редирект .htaccess.
# redirect an entire site via 301 Redirect 301 / http://www.domain.com/
-
- Чтобы перенаправить определенный файл, используйте это правило:
# redirect a specific file via 301 Redirect 301 /current/currentfile.html http://www.newdomain.com/new/newfile.html
-
- Используйте это правило для перенаправления всего сайта через постоянное перенаправление:
# redirect an entire site via permanent redirect Redirect permanent / http://www.domain.com/
-
- Точно так же используйте следующее правило для перенаправления страницы или каталога через постоянное перенаправление:
# redirect a page or directory Redirect permanent old_file.html http://www.new-domain.com/new_file.html Redirect permanent /old_directory/ http://www.new-domain.com/new_directory/
-
- Перенаправление с использованием redirectmatch следующим образом:
# redirect all requests via RedirectMatch RedirectMatch 301 (.*) http://www.domain.com/index.html
-
- Перенаправлять пользователей на настраиваемую страницу ошибки 404
Страница с ошибкой 404 обнаруживается, когда запрошенная страница не найдена. Обычные причины – это либо удаление страницы, либо страница была перемещена в новое место. Хорошо использовать настраиваемую страницу с ошибкой 404, чтобы ваш сайт оставался оптимизированным и профессиональным. Вы можете использовать следующий код для перенаправления пользователей на свою страницу ошибок:
# custom error pages ErrorDocument 401 /err/401.php ErrorDocument 403 /err/403.php ErrorDocument 404 /err/404.php ErrorDocument 500 /err/500.php
-
- Отправляйте посетителей на страницу обслуживания
Вы можете отображать сообщение обслуживания для своих посетителей, когда вы разрабатываете или обновляете свой сайт. Для этого вы можете использовать плагины обслуживания. Но всегда рекомендуется создавать базовую обслуживающую HTML-страницу. Это сообщит посетителям, что в настоящее время на сайте возникают некоторые проблемы, и вы скоро вернетесь. Итак, вы можете использовать этот фрагмент кода, чтобы направлять посетителей на эту настраиваемую страницу:
RewriteEngineon RewriteCond %{REQUEST_URI} !/maintenance.html$ RewriteCond %{REMOTE_ADDR} !^123.123.123.123 RewriteRule $ /maintenance.html [R=302,L]
9. Больше удовольствия с RewriteCond и RewriteRule
Вот еще несколько примеров перенаправления .htaccess через модуль перезаписи Apache:
# rewrite only if file is not found RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+)special.html?$ cgi-bin/special/special-html/$1
# rewrite only if image is not found RewriteCond %{REQUEST_FILENAME} !-f RewriteRule images/special/(.*).gif cgi-bin/special/mkgif?$1
# rewrite rules for various directories RewriteRule ^(.*)/aud/(.*)$ $1/audio-files/$2 [L,R=301] RewriteRule ^(.*)/img/(.*)$ $1/image-files/$2 [L,R=301] RewriteRule ^(.*)/fla/(.*)$ $1/flash-files/$2 [L,R=301] RewriteRule ^(.*)/vid/(.*)$ $1/video-files/$2 [L,R=301]
# broswer sniffing via environmental variables RewriteCond %{HTTP_USER_AGENT} ^Mozilla.* RewriteRule ^/$ /index-for-mozilla.html [L]
RewriteCond %{HTTP_USER_AGENT} ^Lynx.* RewriteRule ^/$ /index-for-lynx.html [L]
# redirect query to google search
Правила файла HTACCESS для постоянных ссылок
1. Настройка постоянных ссылок
Постоянные ссылки – это URL-адреса контента, который вы публикуете на своем веб-сайте . Для различных конфигураций постоянных ссылок существует несколько конкретных директив .htaccess. Есть два конкретных случая использования директив .htaccess в зависимости от местоположения установки , а именно:
-
- Для , установленного в корне сайта:
Директивы .htaccess будут выглядеть так:
# BEGIN <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
Никаких изменений не требуется, просто подключи и играй.
-
- Для установлен в собственном каталоге
Если установлен в каком-либо подкаталоге, создает и использует следующие директивы .htaccess:
# BEGIN <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /wordpress/ RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d
2. Добавьте и настройте постоянные ссылки в блогах для создания более эффективных URL-адресов.
Это популярный трюк .htaccess, позволяющий добавить код для создания и настройки параметров постоянной ссылки блога. Веб-мастера используют это для более чистых URL-адресов, которые включают ключевые слова вместо строк символов и чисел. Вы можете использовать следующий код в вашем файле .htaccess, чтобы сделать то же самое:
# BEGIN <ifmodule mod_rewrite.c="mod_rewrite.c"> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L]
3. Изменение постоянных ссылок с помощью .htaccess
Иногда вам может потребоваться объединить ваш блог с вашим основным веб-сайтом или вы объедините другой блог со своим. В этих случаях необходимо, чтобы ваш находил сообщения, связанные со ссылками. Как ссылки могут быть в другом шаблоне. Итак, вот несколько правил .htaccess, которые служат различным целям при переносе установки :
-
- Перемещение из подпапки в корень
Если вы перемещаете установку из подпапки в корневой веб-каталог, вам необходимо перенаправить все обращения для вашей подпапки, возможно, / blog / в корневой веб-каталог /.
RewriteRule ^blog/(.*)$ /$1 [R=301,L]
-
- Для переименованной страницы или сообщения перенаправить предыдущий URL
Здесь вы будете использовать код состояния 301 HTTP для обозначения «перемещен навсегда».
Redirect 301 "/old-page-name" "/new-page-name"
(Примечание. Эти правила действительны для стандартной установки и могут не работать эффективно для нестандартных или узкоспециализированных конфигураций.)
Как заставить SSL с .htaccess?
Посетители веб-сайта должны получить доступ к вашему сайту, используя SSL-шифрованное соединение из соображений безопасности. Итак, чтобы принудительно установить HTTPS-соединение на вашем сайте, добавьте эти правила в файл .htaccess вашего сайта:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Для получения дополнительной информации о SSL, например, что это такое и почему он необходим, вы можете прочитать наши статьи о том,
Дополнительные советы и рекомендации для файла .htaccess
Есть несколько дополнительных полезных приемов для выполнения определенных вещей в :
1. Активируйте SSI для типов файлов HTML / SHTML.
SSI расшифровывается как Server Side Includes. Самым большим преимуществом SSI является включение содержимого одного или нескольких файлов на одну веб-страницу на Интернет-сервере. Он используется для того, чтобы иметь общий фрагмент кода на всем сайте, например, заголовок страницы, нижний колонтитул или меню навигации. Вы можете использовать этот фрагмент кода для активации SSI для типов файлов HTML / SHTML в файле .htaccess:
# activate SSI for HTML and or SHTML file types AddType text/html .html AddType text/html .shtml AddHandler server-parsed .html AddHandler server-parsed .shtml AddHandler server-parsed .htm
2. Предоставить CGI доступ к определенному каталогу
Сценарии Common Gateway Interface – это программы создания контента, описывающие, как информация передается через веб-сервер и браузер. Чтобы предоставить CGI доступ к определенному каталогу, вы можете использовать этот фрагмент кода:
# grant CGI access in a specific directory Options +ExecCGI AddHandler cgi-script cgi pl
# to enable all scripts in a directory use the following SetHandler cgi-script
3. Дайте команду браузеру загрузить мультимедийные файлы вместо отображения
Как правило, браузеры пытаются воспроизвести мультимедийные файлы при нажатии прямых ссылок. Вот способ загрузки мультимедийных файлов для ваших пользователей. Он предоставляет ссылку на мультимедийный файл, а в диалоговом окне будет предложен выбор: сохранить файл или открыть его. Следующее правило .htaccess будет работать для редактирования типов файлов в соответствии с вашими потребностями:
# command browser to download multimedia files AddType application/octet-stream .avi AddType application/octet-stream .mpg AddType application/octet-stream .wmv AddType application/octet-stream .mp3
4. Минимизируйте мерцание изображения CSS в IE6.
Вы можете добавить следующий код, чтобы минимизировать или даже устранить «мерцание» фонового изображения CSS в MSIE6:
# minimize image flicker in IE6 ExpiresActive On ExpiresByType image/gif A2592000 ExpiresByType image/jpg A2592000 ExpiresByType image/png A2592000
5. Уловки с движком выражений
# redirect Atom and RSS requests RewriteRule .*atom.xml$ http://www.yoursite.com/index.php/weblog/rss_atom/ [R] RewriteRule .*rss.xml$ http://www.yoursite.com/index.php/weblog/rss_2.0/ [R]
# redirect all index.html files RewriteRule /.*index.html$ http://www.domain.com/index.php [R]
6. Разрешить автоматическое исправление орфографических ошибок в URL.
Вы можете разрешить URL-адресу с ошибкой доступ к файлу, автоматически исправив его. Это можно сделать, добавив директиву проверки орфографии в файл .htaccess. Но в нем допускаются только мелкие опечатки, а не грубые. Добавьте эту функцию на свой сайт, используя следующий код:
<ifmodule mod_speling.c> CheckSpelling On </ifmodule>
7. Добавьте косую черту в конце URL-адреса.
URL-адреса, не имеющие косой черты в конце, обычно являются файлами, тогда как URL-адреса, заканчивающиеся косой чертой в конце, относятся к каталогу. Итак, возможно иметь две страницы с одинаковыми URL-адресами, но разница будет заключаться в конечной косой черте. Для этого используйте следующий код:
#trailing slash enforcement RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !# RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ http://domain.com/$1/ [L,R=301]
8. Увеличьте размер загружаемого файла в .
Обычно разрешается загружать файлы небольшого размера. Но в некоторых случаях требуется загрузка файлов большего размера. Для этого вам нужно увеличить лимит размера загружаемого файла в . Иногда традиционные методы не работают. В то время вы можете поместить этот код в файл .htaccess:
php_value upload_max_filesize 64M php_value post_max_size 64M php_value max_execution_time 300 php_value max_input_time 300
Это увеличит ограничение на размер файла в дополнение к максимальному увеличению времени выполнения в .
Подводить итоги
.htaccess – это файл конфигурации веб-сервера Apache. Обычно он используется для переопределения других параметров конфигурации, особенно на уровне каталога. Включая настройку страниц ошибок, контроль доступа, изменение поведения папок, перенаправление и многое другое, о чем говорилось выше. Мы постарались осветить все, что вам нужно, о .htaccess. Надеюсь, вы получите хорошие знания о файле .htaccess , его важности, создании, редактировании, различных правилах, хитростях и т.д. Из этого блога !!
Если у вас есть какие-либо вопросы, вы можете оставить сообщение в разделе комментариев ниже.
Связанное чтение: Учебник по 101
Источник записи: