Настройка файла .htaccess для работы с Joomla. Настройка htaccess для joomla 3


Настройка файла .htaccess для работы с Joomla

news_0027 Настройка файла .htaccess для работы с Joomla    Файл .htaccess – является неотъемлемой частью сайтостроения, он кроет в себе массу возможностей.

     Настройками .htaccess можно обеспечить защиту контента,  редиректы  с  одной  страницы   или   домена на другой, сменить расширение страниц (например менять расширение с php на html), устанавливать кеширование страницы и многое другое.     

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

     1) Ограничение доступа к контенту.

     Если вам не нравится, что ваши картинки используется другими сайтами.

Options +FollowSymlinks RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www.)?domainname.com/ [nc] RewriteRule .*.(gif|jpg|png)$ http://domainname.com/img/stop_stealing_bandwidth.gif[nc]

 

     2) Ограничение доступа по user-agent.

     Блокируем всех пользователей, которые могут причинить вред серверу.

SetEnvIfNoCase user-Agent ^FrontPage [NC,OR] SetEnvIfNoCase user-Agent ^Java.* [NC,OR] SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR] SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR] SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR] SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR] SetEnvIfNoCase user-Agent ^Zeus [NC] Order Allow,Deny Allow from all Deny from env=bad_bot

 

     3) Безопасный редирект 301.

     Чтобы перенаправить посетителя с одной страницы (домена) без ущерба для поисковых роботов.

Redirect 301 /d/file.html http://www.domainname.com/r/file.html

 

      4) Своя страница 401-403-404-500 с ошибками

     Чтобы перенаправить посетителя на самодельную 404-страницу

ErrorDocument 401 /error/401.php ErrorDocument 403 /error/403.php ErrorDocument 404 /error/404.php ErrorDocument 500 /error/500.php 

 

     5) Защита файлов      Чтобы защитить ваши файлы от просмотра

order allow,deny deny from all

 

     6) Кеширование
Код кэширует посещённые страницы, снижая время загрузки. 86400 – количество секунд, меняйте на своё усмотрение

FileETag MTime Size ExpiresActive on ExpiresDefault "access plus 86400 seconds"

 

     7) Gzip-сжатие Используйте Gzip , чтобы ваш сайт грузился быстрее.

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/j-avascript 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 

 reb Настройка файла .htaccess для работы с Joomla

 

joomru.ru

Настройка файла .htaccess для работы с Joomla

news_0027 Настройка файла .htaccess для работы с Joomla    Файл .htaccess – является неотъемлемой частью сайтостроения, он кроет в себе массу возможностей.

     Настройками .htaccess можно обеспечить защиту контента,  редиректы  с  одной  страницы   или   домена на другой, сменить расширение страниц (например менять расширение с php на html), устанавливать кеширование страницы и многое другое.     

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

     1) Ограничение доступа к контенту.

     Если вам не нравится, что ваши картинки используется другими сайтами.

Options +FollowSymlinks RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www.)?domainname.com/ [nc] RewriteRule .*.(gif|jpg|png)$ http://domainname.com/img/stop_stealing_bandwidth.gif[nc]

 

     2) Ограничение доступа по user-agent.

     Блокируем всех пользователей, которые могут причинить вред серверу.

SetEnvIfNoCase user-Agent ^FrontPage [NC,OR] SetEnvIfNoCase user-Agent ^Java.* [NC,OR] SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR] SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR] SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR] SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR] SetEnvIfNoCase user-Agent ^Zeus [NC] Order Allow,Deny Allow from all Deny from env=bad_bot

 

     3) Безопасный редирект 301.

     Чтобы перенаправить посетителя с одной страницы (домена) без ущерба для поисковых роботов.

Redirect 301 /d/file.html http://www.domainname.com/r/file.html

 

      4) Своя страница 401-403-404-500 с ошибками

     Чтобы перенаправить посетителя на самодельную 404-страницу

ErrorDocument 401 /error/401.php ErrorDocument 403 /error/403.php ErrorDocument 404 /error/404.php ErrorDocument 500 /error/500.php 

 

     5) Защита файлов      Чтобы защитить ваши файлы от просмотра

order allow,deny deny from all

 

     6) Кеширование
Код кэширует посещённые страницы, снижая время загрузки. 86400 – количество секунд, меняйте на своё усмотрение

FileETag MTime Size ExpiresActive on ExpiresDefault "access plus 86400 seconds"

 

     7) Gzip-сжатие Используйте Gzip , чтобы ваш сайт грузился быстрее.

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/j-avascript 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 

 reb Настройка файла .htaccess для работы с Joomla

 

joomru.ru

Настройка файла .htaccess для работы с Joomla

news_0027 Настройка файла .htaccess для работы с Joomla    Файл .htaccess – является неотъемлемой частью сайтостроения, он кроет в себе массу возможностей.

     Настройками .htaccess можно обеспечить защиту контента,  редиректы  с  одной  страницы   или   домена на другой, сменить расширение страниц (например менять расширение с php на html), устанавливать кеширование страницы и многое другое.     

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

     1) Ограничение доступа к контенту.

     Если вам не нравится, что ваши картинки используется другими сайтами.

Options +FollowSymlinks RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www.)?domainname.com/ [nc] RewriteRule .*.(gif|jpg|png)$ http://domainname.com/img/stop_stealing_bandwidth.gif[nc]

 

     2) Ограничение доступа по user-agent.

     Блокируем всех пользователей, которые могут причинить вред серверу.

SetEnvIfNoCase user-Agent ^FrontPage [NC,OR] SetEnvIfNoCase user-Agent ^Java.* [NC,OR] SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR] SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR] SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR] SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR] SetEnvIfNoCase user-Agent ^Zeus [NC] Order Allow,Deny Allow from all Deny from env=bad_bot

 

     3) Безопасный редирект 301.

     Чтобы перенаправить посетителя с одной страницы (домена) без ущерба для поисковых роботов.

Redirect 301 /d/file.html http://www.domainname.com/r/file.html

 

      4) Своя страница 401-403-404-500 с ошибками

     Чтобы перенаправить посетителя на самодельную 404-страницу

ErrorDocument 401 /error/401.php ErrorDocument 403 /error/403.php ErrorDocument 404 /error/404.php ErrorDocument 500 /error/500.php 

 

     5) Защита файлов      Чтобы защитить ваши файлы от просмотра

order allow,deny deny from all

 

     6) Кеширование
Код кэширует посещённые страницы, снижая время загрузки. 86400 – количество секунд, меняйте на своё усмотрение

FileETag MTime Size ExpiresActive on ExpiresDefault "access plus 86400 seconds"

 

     7) Gzip-сжатие Используйте Gzip , чтобы ваш сайт грузился быстрее.

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/j-avascript 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 

 reb Настройка файла .htaccess для работы с Joomla

 

joomru.ru

Настройка файла .htaccess для работы с Joomla

news_0027 Настройка файла .htaccess для работы с Joomla    Файл .htaccess – является неотъемлемой частью сайтостроения, он кроет в себе массу возможностей.

     Настройками .htaccess можно обеспечить защиту контента,  редиректы  с  одной  страницы   или   домена на другой, сменить расширение страниц (например менять расширение с php на html), устанавливать кеширование страницы и многое другое.     

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

     1) Ограничение доступа к контенту.

     Если вам не нравится, что ваши картинки используется другими сайтами.

Options +FollowSymlinks RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www.)?domainname.com/ [nc] RewriteRule .*.(gif|jpg|png)$ http://domainname.com/img/stop_stealing_bandwidth.gif[nc]

 

     2) Ограничение доступа по user-agent.

     Блокируем всех пользователей, которые могут причинить вред серверу.

SetEnvIfNoCase user-Agent ^FrontPage [NC,OR] SetEnvIfNoCase user-Agent ^Java.* [NC,OR] SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR] SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR] SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR] SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR] SetEnvIfNoCase user-Agent ^Zeus [NC] Order Allow,Deny Allow from all Deny from env=bad_bot

 

     3) Безопасный редирект 301.

     Чтобы перенаправить посетителя с одной страницы (домена) без ущерба для поисковых роботов.

Redirect 301 /d/file.html http://www.domainname.com/r/file.html

 

      4) Своя страница 401-403-404-500 с ошибками

     Чтобы перенаправить посетителя на самодельную 404-страницу

ErrorDocument 401 /error/401.php ErrorDocument 403 /error/403.php ErrorDocument 404 /error/404.php ErrorDocument 500 /error/500.php 

 

     5) Защита файлов      Чтобы защитить ваши файлы от просмотра

order allow,deny deny from all

 

     6) Кеширование
Код кэширует посещённые страницы, снижая время загрузки. 86400 – количество секунд, меняйте на своё усмотрение

FileETag MTime Size ExpiresActive on ExpiresDefault "access plus 86400 seconds"

 

     7) Gzip-сжатие Используйте Gzip , чтобы ваш сайт грузился быстрее.

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/j-avascript 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 

 reb Настройка файла .htaccess для работы с Joomla

 

joomru.ru

Разбираем .htaccess для Joomla! | LimanWorld

Итак, возьмем .htaccess от Joomla! (я взял от версии 3.4.1) и посмотрим, что в нем интересного и как это все работает.

В первой незакомментированной строке видим команду IndexIgnore

IndexIgnore *

Если в конфигурации вашего сервера или в .htaccess файле включена опция

Options +Indexes

, то при обращении к папке, в которой нет файлов index.php или index.html, на экране браузера будет выведен листинг этой папки со всеми файлами и вложенными папками.

Команда IndexIgnore предназначена для исключения каких либо файлов из этого листинга, например команда

IndexIgnore .htaccess .ftpquota .DS_Store robots.txt

исключает из листинга файлы .htaccess, .ftpquota, .DS_Store и robots.txt .Указанная в .htaccess от Joomla! команда

IndexIgnore *

исключает из листинга все файлы. Т.е. листинг будет, но он будет пустой.

Далее следует строка.

Options +FollowSymlinks

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

Следующая строка

Options -Indexes

отключает вывод листинга при отсутствии в папке index-файла. Если вы все-таки предполагаете использовать вывод листинга какой либо папки, то вам придется более тонко настроить команду IndexIgnore, так как она имеет глобальное действие на все поддиректории. Например

IndexIgnore .htaccess *.php *.xml *.cgi *.js

Идем дальше. Начинается самое интересное — перенаправление.

RewriteEngine On

Команда включает механизм перенаправления в модуле mod_rewrite.c .

Далее следует блок строк решающий некоторые вопросы безопасности.

RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR] RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) RewriteRule .* index.php [F]

Команды RewriteRule этого блока проверяют строку параметров запроса по следующему алгоритму:

В случае выполнения одного из этих условий, выполняется правило

RewriteRule .* index.php [F]

Флаг [F] (от forbidden — запрещено) в этом правиле дает инструкцию серверу немедленно отправить ответ с кодом ошибки 403. При этом будет произведено перенаправление на главную страницу сайта index.php как указано в команде.

Далее начинается блок SEF-оптимизации.

Первая строка устанавливает переменную окружения HTTP_AUTHORIZATION переданными в запросе параметрами HTTP авторизации.

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

Далее идут строки:

RewriteCond %{REQUEST_URI} !^/index\.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php [L]

Рассмотрим по порядку. Первая строка проверяет отсутствие index.php в строке запроса.

RewriteCond %{REQUEST_URI} !^/index\.php

Следующая строка проверяет, что запрос не указывает на существующий файл.

RewriteCond %{REQUEST_FILENAME} !-f

Следующие строка проверяет, что запрос не указывает на существующую директорию.

 RewriteCond %{REQUEST_FILENAME} !-d

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

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

RewriteRule .* index.php [L]

Флаг [L] означает, что это последнее правило.

Это правило переадресовывает запрос к скрипту index.php . Т.е. не зависимо от того что у нас передано в url, если это не файл и не папка, будет выполнен скрипт index.php . При этом строка исходного запроса будет доступна скрипту через суперглобальный массив $_SERVER.

Например, запрос

http:/yoursite.com/news/2015/07/01?prm1=556

фактически выполнит

http:/yoursite.com/index.php

но в скрипте из $_SERVER мы можем получить следующее

$_SERVER['REQUEST_URI'] --> 'news/2015/07/01?prm1=556' $_SERVER['QUERY_STRING'] --> 'prm1=556'

Финиш.

limanworld.ru


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