0 Пользователей и 1 Гость просматривают эту тему.
  • 177 Ответов
  • 92387 Просмотров
*

yuri-design

  • Давно я тут
  • 652
  • 76 / 5
.htaccess
« : 28.01.2011, 21:04:03 »
Может кому-то пригодиться в работе.
(прислал админ с сервера)
ВНИМЕНИЕ! Это не готовый файл!
Файл .htaccess содержит пользовательские настройки web-сервера и анализируется при каждом запросе на сервер.
Создать файлы htaccess можно в Блокноте
Цитировать
Кодировка

Как выставить русскую кодировку.
AddDefaultCharset windows-1251
Определение кодировки на определенные типы файлов
AddType "text/html; charset=koi8-r" .html .htm shtm
Определение кодировки на загружаемые файлы
CharsetSourceEnc windows-1251
Отключение перекодировки
Если при загрузке скриптом не загружаются бинарные файлы, создайте файл .htaccess и поместите его папку, где вы хотите отключить функцию, в нем пропишите строчку:

CharsetRecodeMultipartForms off

 Назначение стартовой страницы.

 DirectoryIndex index.html

 Можно указывать несколько страниц.

 DirectoryIndex index.html index.php index.shtml map.html

 При запросе каталога они будут искаться в том порядке, в котором перечислены в директиве DirectoryIndex. Еслине будет найден файл index.html, то будет произведен поиск файла index.php и т.д.

Разрешение / Запрет

Разрешить доступ с определенного IP.

order allow deny

deny from all

allow from 000.000.000.000

Запретить доступ с определенного IP.

order allow deny

allow from all

deny from 000.000.000.000

Запретить просмотр всем.

deny from all

Разрешить просмотр всем.

allow from all

Запретить доступ к определенному файлу.

<Files config.php>

deny from all

</Files>

Запретить доступ к файлам с определенным расширением.

<Files "*.conf">

deny from all

</Files>

Запретить доступа к файлам с несколькими типа расширений.

<Files "\.(inc|conf|cfg)$">

deny from all

</Files>

? - любой одиночный символ

* - любая последовательность символов, исключая символ / (слеш).

Тонкая настройка доступа.

Есть каталог a1 и в нем два вложенных каталога a2, a3, введено 2 уровня пользователей. 1 группа имеет доступ то лько к a1 и a2, 2-я ко всем трем каталогам. Необходимо проводить аутентификацию только 1 раз - при доступе к a1, но при этом соблюдать права на доступ к а2 и а3. Ник и пароль запрашиваются только при входе на а1 - если у юзера есть доступ на а2 пароль уже не запрашивается. Если на а3 доступа нет, вылетит табличка "введите пароль".

www.site.ru/a1

www.site.ru/a1/а2

www.site.ru/a1/a3

a1 - общий и вместе с тем закрытый. а2 и а3 только для отдельных личностей.

файл .htaccess для каталога а1:

AuthName "Input password"

AuthType Basic

AuthUserFile "/pub/home/login/htdocs/clousearea/.htpasswd"

<Files *.*>

require valid-user

</Files>

файл .htaccess для каталога а2:

AuthName "Input password"

AuthType Basic

AuthUserFile "/pub/home/login/htdocs/clousearea/.htpasswd"

<Files *.*>

require user юзер1 юзер2 юзер3

</Files *.*>

файл .htaccess для каталога а3:

AuthName "Input password"

AuthType Basic

AuthUserFile "/pub/home/абв/htdocs/clousearea/.htpasswd"

<Files *.*>

require user юзер1 юзер4 юзер5

</Files *.*>

Перенаправление (редирект)

Пути к файлам и директориям должны указываться от корня сервера, например, /pub/home/server1/html/

В именах доменов обязательно должны быть указаны протоколы (http://, https://, ftp://)

Если вы не знаете путь от корня сервера, то Вы можете его узнать, спросив у администратора сервера, либо может е посмотреть сами, запустив на сайте функцию PHP — phpinfo(). Она выведет на экран конфигурацию PHP в виде фиолето вых таблиц. В них Вам необходимо найти переменную doc_root и посмотреть ее значение — это будет путь от корня сервера до Вашей основной директории.

Перенаправление (редирект) только при запросе определенных страниц.

Redirect /location/from/root/file.ext http://www.serv.ru/new/file/location.xyz

/location/from/root/file.ext - это путь до корневого файла (до нужного файла).

http://www.serv.ru/new/file/location.xyz это место, куда попадет пользователь сделав запрос на файл file.txt.

Если файл лежит в корневом каталоге, то вместо location/from/root/ можно сразу поставить:

/oldfile.html

ну и если файл в субкаталоге, то будет выглядеть так:

/old/oldfile.html

Редирект на папку (напр. папка oldfolder).

Redirect /oldfolder http://www.serv.ru/newfolder

запрос на www.oldserv.ru/oldfolder/images/smile.gif,

попадет на www.serv.ru/newfolder/images/smile.gif.

Глобальное перенаправление (редирект) на другой адрес.

Redirect / http://www.newsite.ru

Перенаправление (редирект) только посетителей с определенным IP-адресом.

SetEnvIf REMOTE_ADDR 192.145.121.1 REDIR="redir"

RewriteCond %{REDIR} redir

RewriteRule ^/$ /only_for_you.html


Защита паролем.

AuthName "Section Name" AuthType Basic AuthUserFile /full/path/to/.htpasswd Require valid-user

Вам надо изменить для своего сайта. Например, поменять Section Name на своё название (к примеру - Members area).  

/full/path/to/.htpasswd - полный путь до файла .htapasswd (об этом чуть позже).

Если вы не знаете полного пути, то обратитесь к системному администратору.

Файл .htpasswd

Чтобы защитить директорию паролем, надо создать файл содержащий логины и пароли, которым разрешено будет посещать сайт. И вписать в файл .htpasswd.

Создание имен пользователей и паролей.

Вписываем имена пользователей и пароли след. образом:

username:password

пароль (password) зашифрованная версия пароля.

Чтобы зашифровать .htpasswd файл, вам нужно будет воспользоваться готовым скриптом, или самому написать его. Если вам нужно несколько пользователей, то пишите построчно их. Как только вы заходите в защищенную паролем директорию, у вас всплывет pop-up окно для ввода логина и пароль.

А можно просто вписать в поле адреса:

http://username:password@www.serv.ru/directory

Как заставить Апач обрабатывать SSI директивы?

SSI позволяют "собирать" страницу из кусочков. В одном кусочке у вас код меню, в другом код верхней части страницы, в третьем - нижней. А посетитель видет обычную страницу, которая состоит из того кода, который входит в ваши кусочки. Необходимы обязательные установки в httpd.conf:

В блоке, начинающемся с <Directory/> и заканчивающийся </Directory> в строку Options Indexes добавьте Includes и после, в файле .htaccess пишем:

AddHandler server-parsed .shtml .shtm .html .htm

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

Options -Indexes

Выполнение php кода в файлах с другим расширением.

Иногда бывает полезно "обмануть" посетителя, выдавая ему свои php-скрипты или иные файлы, как HTML файлы. Реально используется для индексации поисковой системой Rambler php-скриптов.

RemoveHandler .html .htm

AddType application/x-httpd-php php .htm .html phtml

Заметьте, так как файлам с расширением .html и .htm сопоставлено, что это файлы с гипертекстовой разметкой, то мы первой строкой убираем это сопоставление и добавляем обработку таких файлов php интерпретатором. При большой посещаемости сервера такие ухищрения могут вызвать тормоза. Спрашивайте у админа.

Error 404 ..

Можно создать специальный файл, где будут ссылки на ваш сайт, а не на хостера. Назвать его 404.html и поместить в корневую директорию. Величина страницы с ошибкой должна быть больше 511 байтов, иначе Internet Explorer может показать собственную страницу с описанием ошибки.

ErrorDocument 404 /404.html

ErrorDocument 403 /403.html

ErrorDocument 401 /401.html

ErrorDocument 500 /500.html

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

Карта сайта - является идеальным файлом для обработки ошибки error 404 (файл не найден).

ErrorDocument 404 /map.html

register_globals

Если у вас не работает почтовая форма, возможно не включен register_globals, тогда добавьте строчку:

php_flag register_globals on

Или php_flag register_globals off если вы хотите отключить.

Защита от хотлинков

Хотлинк (hotlink) - это когда ставят прямую ссылку на ваш контент с другого сайта.

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

SetEnvIfNoCase Referer "^http://www.test.com" local_ref=1

SetEnvIfNoCase Referer "^http://test.com" local_ref=1

<FilesMatch ".(gif|jpg)>

Order Allow,Deny

Allow from env=local_ref

</FilesMatch>

Другой вариант:

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http://www.quux-corp.de/~quux/.*$ [NC]

RewriteRule .*\.(gif|jpg)$ - [F]

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !.*/foo-with-gif\.html$

RewriteRule ^inlined-in-foo\.(gif|jpg)$ - [F]
« Последнее редактирование: 28.01.2011, 21:38:02 от yuri-design »
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Re: .htaccess
« Ответ #1 : 28.01.2011, 21:17:38 »
Оговорись прямо в заголовке, что это не готовый файл, а руководство к действию. Найдутся особо одаренные засунут на рабочий сайт, потом плакать будут.
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

yuri-design

  • Давно я тут
  • 652
  • 76 / 5
Re: .htaccess
« Ответ #2 : 28.01.2011, 21:36:53 »
Оговорись прямо в заголовке, что это не готовый файл, а руководство к действию. Найдутся особо одаренные засунут на рабочий сайт, потом плакать будут.
Точно так! Я про это не подумал. Спасибо Lex
*

oleggrz

  • Захожу иногда
  • 435
  • 76 / 3
  • Только начал учиться.
Re: .htaccess
« Ответ #3 : 28.01.2011, 22:08:58 »
Спасибо, узнал кое-что новенькое. +1.
*

dynamit

  • Завсегдатай
  • 1744
  • 265 / 0
  • Winter Is Coming
Re: .htaccess
« Ответ #4 : 28.01.2011, 22:22:15 »
вот тоже по теме - полезный сайтик
ТАМ ГДЕ ТЫ НИЧЕГО НЕ МОЖЕШЬ, ТЫ НЕ ДОЛЖЕН НИЧЕГО ХОТЕТЬ
==========================================================
Сайты на Joomla!. Верстка. Консультации.  ||  Яндекс уже не ищет, он уже продает (с)  ||    Создание шаблона для Joomla 2.5
*

Очередной вебмастер

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
Re: .htaccess
« Ответ #5 : 02.03.2011, 15:02:18 »
В мартовском выпуске magazine.joomla.org приводится достаточно интересный листинг файла .htaccess (здесь)
Автор утверждает, что при включении системного кэша и заполнения .htaccess  вот таким образом:
Код
### @version $Id: htaccess.txt 10492 2008-07-02 06:38:28Z ircmaxell $
# @package Joomla
# @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
# Joomla! is Free Software
##

## Can be commented out if causes errors, see notes above.
Options +FollowSymLinks -Indexes

#
# mod_rewrite in use

RewriteEngine On

########## Begin - Rewrite rules to block out some common exploits
## If you experience problems on your site block out the operations listed below
## This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a tag in URL
RewriteCond %{QUERY_STRING} (\|%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})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## End - Rewrite rules to block out some common exploits

# RewriteBase /

########## Begin - Joomla! core SEF Section
#

RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

#
########## End - Joomla! core SEF Section
SetOutputFilter DEFLATE
Header set Expires "max-age=29030400, public"
Header unset ETag
FileETag None

ExpiresActive On
ExpiresDefault A600
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A604800
ExpiresByType text/css A604800
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/plain A1200
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType video/x-flv A2592000
ExpiresByType application/pdf A2592000
ExpiresByType text/html A600
Сайт автора с 6000 новостей грузился менее чем за 2 секунды, по сравнению с 10 секундами до этого.
Предлагаю обсудить.
Может есть спецы которые объяснят, что такого особенного в этом листинге, просто многие настройки лично мне не понятны.
Буду признателен за разъяснения.
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
*

oleggrz

  • Захожу иногда
  • 435
  • 76 / 3
  • Только начал учиться.
Re: .htaccess
« Ответ #6 : 02.03.2011, 16:11:40 »
Если вы про Expires, то посмотрите здесь.
*

Очередной вебмастер

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
Re: .htaccess
« Ответ #7 : 02.03.2011, 16:41:12 »
Хм, изменил свой .htaccess в соответствии с приведенным выше, реально ощущаю прирост скорости на сайте.
Интересно однако )
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
*

schel4ok

  • Захожу иногда
  • 219
  • 4 / 1
Re: .htaccess
« Ответ #8 : 02.03.2011, 21:37:08 »
редирект 404 ошибки работает только если отключен RewriteEngine
ErrorDocument 404 http://komfort-k/index.php?option=com_content&view=article&id=108

а одновременно с  RewriteEngine On
редирект 404 ошибки не работает

как это можно обойти?
*

scs

  • Захожу иногда
  • 174
  • 2 / 0
  • ДумаюююююЮЮ
Re: .htaccess
« Ответ #9 : 03.03.2011, 21:40:00 »
Хм, изменил свой .htaccess в соответствии с приведенным выше, реально ощущаю прирост скорости на сайте.
Интересно однако )

а что с запросами к БД?
*

Очередной вебмастер

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
Re: .htaccess
« Ответ #10 : 04.03.2011, 00:20:35 »
а что с запросами к БД?
не проверял, если подскажете как, проверю
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
*

scs

  • Захожу иногда
  • 174
  • 2 / 0
  • ДумаюююююЮЮ
Re: .htaccess
« Ответ #11 : 04.03.2011, 00:53:01 »
не проверял, если подскажете как, проверю

Через: общин настройки - Система - Отладка системы
количество запросов с оригинальным файлом и с модифицированным
*

weise24

  • Новичок
  • 2
  • 0 / 0
Re: .htaccess
« Ответ #12 : 26.04.2011, 12:47:43 »
Именно то, что искал. Огромное спасибо!
*

MaRt

  • Захожу иногда
  • 356
  • 20 / 2
  • SEO master
Re: .htaccess
« Ответ #13 : 27.04.2011, 00:33:12 »
Налабал то, что выложено тут + то, что позволило сайту заработать, выкладываю. Ковырял сам, возможно есть ошибки, но у меня в таком виде только и работает. Ах да, делал интуитивно, не программер... Если выдает 500 ошибку, надо закомментить Options +FollowSymLinks -Indexes вот так: #Options +FollowSymLinks -Indexes





### @version $Id: htaccess.txt 10492 2008-07-02 06:38:28Z ircmaxell $
# @package Joomla
# @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
# Joomla! is Free Software
##

## Can be commented out if causes errors, see notes above.
Options +FollowSymLinks -Indexes

#
# mod_rewrite in use

DirectoryIndex index.php
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR]
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$  [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php

########## Begin - Rewrite rules to block out some common exploits
## If you experience problems on your site block out the operations listed below
## This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a tag in URL
RewriteCond %{QUERY_STRING} (\|%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})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## End - Rewrite rules to block out some common exploits

# RewriteBase /

########## Begin - Joomla! core SEF Section
#

RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

#
########## End - Joomla! core SEF Section
Header set Expires "max-age=29030400, public"
Header unset ETag
FileETag None

ExpiresActive On
ExpiresDefault A600
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A604800
ExpiresByType text/css A604800
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/plain A1200
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType video/x-flv A2592000
ExpiresByType application/pdf A2592000
ExpiresByType text/html A600
« Последнее редактирование: 27.04.2011, 13:48:08 от MaRt »
Тра та та
*

artliffe

  • Захожу иногда
  • 128
  • 6 / 0
  • ...акки пчела
Re: .htaccess
« Ответ #14 : 08.05.2011, 20:36:37 »
Если кому интересно, то выкладываю свой .htaccess собранный из разных тем данного форума. Главные задачи данного .htaccess обезопасить и увеличить скорость сайта.
Код
##
# @version $Id: htaccess.txt 14401 2010-01-26 14:10:00Z louis $
# @package Joomla RE
# @localized Авторские права (C) 2005 - 2010 Joom.Ru - Русский дом Joomla! Все права защищены.
# @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
# Joomla! - свободное программное обеспечение.
# Последнее изменение этого файла - 01.05.2010
##

#  Установка кодировки сайта по умолчанию. При необходимости, закомментируйте.
#  Строка решает проблему с "крякозябрами" в редакторе TinyMCE и текста лицензии при установке
#  на Денвере и некоторых серверах с жестко прописанной кодировкой. Это на 99,9% работающее решение.
#  После переименования этого файла htaccess.txt в .htaccess проблема решится.
#  Если проблема осталась - перечитайте предыдущее предложение (возможно неправильно переименовали).

AddDefaultCharset utf-8

#  Следующие строки - попытка исправить настройки PHP
#  для полного соответствия системным требованиям Joomla.
#  Раскомментируйте (символ комментария - #) нужные строки,
#  если настройки вашего хоста не соответствуют рекомендациям
#  системных требований Joomla.
#  При возникновении 500 ошибки сервера, закомментируйте строку, вызывающую
#  ошибку, или все строки с php_flag.

#  php_flag register_globals Off
#  php_flag display_errors Off
#  php_flag file_uploads On
#  php_flag allow_url_fopen off
#  php_flag magic_quotes_gpc On
#  php_flag magic_quotes_runtime Off


#  Пример явного указания каталога для записи сессий:
#  Для Windows - c:/temp
#  для UNIX  - /tmp

#  Указанный каталог должен физически существовать и быть доступен для записи

#  При необходимости, раскомментируйте строку ниже этой
#  php_value session.save_path c:/temp

#####################################################
#  ПРОЧТИТЕ ПОЛНОСТЬЮ, ЕСЛИ БУДЕТЕ ИСПОЛЬЗОВАТЬ ЭТОТ ФАЙЛ
#
# Строка ниже этого раздела: 'Options +FollowSymLinks' может вызвать проблему
# при некоторых конфигурациях сервера. Она необходима для использования модуля
# Apache mod_rewrite, но может быть уже настроена администратором вашего
# сервера и изменение этого параметра в .htaccess может быть запрещено.
# Если эта директива вызывает ошибку сервера, то закомментируйте строку
# (добавьте символ # в начало строки), перезагрузите в браузере сайт и
# протестируйте работу SEF-ссылок. Если они работают, то вам не надо ничего
# менять здесь, т.к. всё уже настроено администратором сервера.
#
# Строки, которые можно раскомментирвать (и использовать) имеют только один #.
# Строки с двумя символами ## раскомментировать не надо. В разделах, которые вы
# не используете, все строки должны начинаться с символа #
#
#####################################################

##  Может быть закомментировано, если вызывает ошибку сервера. Смотрите примечания выше.
Options +FollowSymLinks

#
#  Включение mod_rewrite

RewriteEngine On
########## Начало - Правила обработки запросов для блокировки распространенных эксплоитов
## Если у вас возникли проблемы с вашим сайтом, используйте ниже описанные операции
## Они пытаются заблокировать самые распространенные эксплоиты Joomla!
#
## Код запрета доступа к xml-файлам расширений (раскомментируйте для активации)
#<Files ~ "\.xml$">
#Order allow,deny
#Deny from all
#Satisfy all
#</Files>
## Конец кода запрета доступа к xml-файлам

# Блокировать любой запрос, пытающийся установить значение mosConfig через URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Блокировать любой запрос, пытающийся испортить base64_encode через URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Блокировать любой запрос, содержащий тег <script> в URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Блокировать любой запрос, пытающийся установить значение глобальных переменных PHP через URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Блокировать любой запрос, пытающийся изменить _REQUEST переменную через URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Перенаправлять заблокированные запросы на страницу 403 с запрещенными ошибками!
RewriteRule ^(.*)$ index.php [F,L]
#
########## Конец правил обработки для блокировки распространенных эксплоитов

#  Раскомментируйте следующую строку, если URL вашего web-сервера
#  не связаны напрямую с физическими путями файлов.
#  Обновите ваш каталог Joomla (используйте "/" для обозначения корня сервера)

# RewriteBase /


########## Начало раздела SEF ядра Joomla!
#
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## Конец раздела SEF ядра Joomla!
########## Начинаем запись правил чтобы заблокировать основные эксплойты
#
# Блокируем любой скрипт пытающийся получить значение mosConfig через URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR]
# Блокируем любой скрипт пытающийся отправить любое дерьмо чере base64_encode по URL
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
# Блокируем любой скрипт который содержит тег < script> в URL
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
# Блокируем любой скрипт, который пытается установить глобальную переменную PHP через URL
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
# Блокируем любой скрипт пытающийся изменить _REQUEST переменную через URL
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) [OR]
# Блокируем любой скрипт, который пытается установить sbp or sb_authorname чере URL (баг simpleboard)
RewriteCond %{QUERY_STRING} sbp(=|%20|%3D) [OR]
RewriteCond %{QUERY_STRING} sb_authorname(=|%20|%3D)
# Отправляем все заблокированный запросы на главную с ошибкой 403 Forbidden!
RewriteRule ^(.*)$ index.php [F,L]
#
########## Заканчиваем запись правил чтобы заблокировать основные эксплойты
#
##### Начинаем запись правил для увеличения скорости работы сайта
#
SetOutputFilter DEFLATE
Header set Expires "max-age=29030400, public"
Header unset ETag
FileETag None
#
ExpiresActive On
ExpiresDefault A600
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A604800
ExpiresByType text/css A604800
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/plain A1200
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType video/x-flv A2592000
ExpiresByType application/pdf A2592000
ExpiresByType text/html A600
#
########## Заканчиваем запись правил для увеличения скорости работы сайта
*

scs

  • Захожу иногда
  • 174
  • 2 / 0
  • ДумаюююююЮЮ
Re: .htaccess
« Ответ #15 : 08.05.2011, 21:37:19 »
page speed после использования прирост показывает?
*

gurkin

  • Осваиваюсь на форуме
  • 26
  • 4 / 0
Re: .htaccess
« Ответ #16 : 29.05.2011, 15:26:14 »
После добавления такого кода в .htaccess - 3 Joomla-сайта просто ЛЕТАЮТ!
рефреш и навигация почти мгновенные - до секунды, вместо 5-7 секунд на рефреше (под рефрешем имеется в виду также предварительная очистка кэша)

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A600
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A604800
ExpiresByType text/css A604800
ExpiresByType text/javascript A604800
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/html A60
</IfModule>
*

scs

  • Захожу иногда
  • 174
  • 2 / 0
  • ДумаюююююЮЮ
Re: .htaccess
« Ответ #17 : 29.05.2011, 15:29:21 »
После добавления такого кода в .htaccess - 3 Joomla-сайта просто ЛЕТАЮТ!
рефреш и навигация почти мгновенные - до секунды, вместо 5-7 секунд на рефреше (под рефрешем имеется в виду также предварительная очистка кэша)

количество запросов к базе до и после?
*

avex

  • Захожу иногда
  • 184
  • 0 / 0
Re: .htaccess
« Ответ #18 : 30.05.2011, 03:56:12 »
########## End - Joomla! core SEF Section
Header set Expires "max-age=29030400, public"
Header unset ETag
FileETag None

ExpiresActive On
ExpiresDefault A600
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A604800
ExpiresByType text/css A604800
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/plain A1200
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType video/x-flv A2592000
ExpiresByType application/pdf A2592000
ExpiresByType text/html A600

После этих крепких выражений из поста MaRt сайт выбрасывает на страничку хостера. Строчки gurkin-а встают нормально.

scs, Вы спрашиваете про количество запросов к базе - там какой-то подвох должен быть или Вы действительно хотите видеть доказательства увеличения скорости?
*

terveg

  • Захожу иногда
  • 87
  • 17 / 0
  • ставь "+" руки не отсохнут
Re: .htaccess
« Ответ #19 : 30.05.2011, 15:17:56 »
Если кому интересно, то выкладываю свой .htaccess...
########## Заканчиваем запись правил чтобы заблокировать основные эксплойты...

RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR] и RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(>|%3E) [NC,OR] это одно и то же?!

а еще расширил бы до:

Код
# php_flag register_globals Off
# php_flag display_errors Off
# php_value error_reporting 0
# php_flag file_uploads On
# php_flag allow_url_fopen off
# php_flag magic_quotes_gpc On
# php_flag magic_quotes_runtime Off
# php_value upload_max_filesize 8M
# php_flag max_execution_time 60
# php_value memory_limit 48M

« Последнее редактирование: 30.05.2011, 15:22:31 от terveg »
*

errorist

  • Захожу иногда
  • 87
  • 1 / 0
Re: .htaccess
« Ответ #20 : 03.06.2011, 14:36:36 »
как оформить редирект ссылки без окончания .html ?
http://www.kamauto-trade.ru/catalog/section.php?SECTION_ID=110&IBLOCK_ID=2
*

talgautb

  • Захожу иногда
  • 92
  • 8 / 0
Re: .htaccess
« Ответ #21 : 11.06.2011, 02:21:46 »
странно выдает 500 ошибку((
после добавления этого:

SetOutputFilter DEFLATE
Header set Expires "max-age=29030400, public"
Header unset ETag
FileETag None
#
ExpiresActive On
ExpiresDefault A600
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A604800
ExpiresByType text/css A604800
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/plain A1200
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType video/x-flv A2592000
ExpiresByType application/pdf A2592000
ExpiresByType text/html A600


вот помогло)
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 3600 seconds"
  ExpiresByType image/x-icon "access plus 2592000 seconds"
  ExpiresByType image/jpeg "access plus 2592000 seconds"
  ExpiresByType image/png "access plus 2592000 seconds"
  ExpiresByType image/gif "access plus 2592000 seconds"
  ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
  ExpiresByType text/css "access plus 604800 seconds"
  ExpiresByType text/javascript "access plus 216000 seconds"
  ExpiresByType application/javascript "access plus 604800 seconds"
  ExpiresByType application/x-javascript "access plus 604800 seconds"
  ExpiresByType text/html "access plus 3600 seconds"
  ExpiresByType application/xhtml+xml "access plus 3600 seconds"
</IfModule>
<IfModule mod_headers.c>
  <FilesMatch "\.(ico|jpe?g|png|gif|swf)$">
    Header set Cache-Control "max-age=2592000, public"
  </FilesMatch>
  <FilesMatch "\.(css)$">
    Header set Cache-Control "max-age=604800, public"
  </FilesMatch>
  <FilesMatch "\.(js)$">
    Header set Cache-Control "max-age=216000, private"
  </FilesMatch>
  <FilesMatch "\.(x?html?|php)$">
    Header set Cache-Control "max-age=3600, private, must-revalidate"
  </FilesMatch>
</IfModule>
« Последнее редактирование: 11.06.2011, 02:32:52 от tiki »
*

talgautb

  • Захожу иногда
  • 92
  • 8 / 0
Re: .htaccess
« Ответ #22 : 13.06.2011, 17:06:43 »
Странно вставляю этот код а Yslow говорит нет такого
Код
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 3600 seconds"
  ExpiresByType image/x-icon "access plus 2592000 seconds"
  ExpiresByType image/jpeg "access plus 2592000 seconds"
  ExpiresByType image/png "access plus 2592000 seconds"
  ExpiresByType image/gif "access plus 2592000 seconds"
  ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
  ExpiresByType text/css "access plus 604800 seconds"
  ExpiresByType text/javascript "access plus 216000 seconds"
  ExpiresByType application/javascript "access plus 604800 seconds"
  ExpiresByType application/x-javascript "access plus 604800 seconds"
  ExpiresByType text/html "access plus 3600 seconds"
  ExpiresByType application/xhtml+xml "access plus 3600 seconds"
</IfModule>
<IfModule mod_headers.c>
  <FilesMatch "\.(ico|jpe?g|png|gif|swf)$">
    Header set Cache-Control "max-age=2592000, public"
  </FilesMatch>
  <FilesMatch "\.(css)$">
    Header set Cache-Control "max-age=604800, public"
  </FilesMatch>
  <FilesMatch "\.(js)$">
    Header set Cache-Control "max-age=216000, private"
  </FilesMatch>
  <FilesMatch "\.(x?html?|php)$">
    Header set Cache-Control "max-age=3600, private, must-revalidate"
  </FilesMatch>
</IfModule>
*

ZeiN.ua

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Re: .htaccess
« Ответ #23 : 17.06.2011, 16:50:10 »
так-с. народ помогите, а то что-то я запутался.
есть например ссылка http://motorway.com.ua/ads
почему работают такие ссылки http://motorway.com.ua/ads/{любой текст}?
*

dim66

  • Осваиваюсь на форуме
  • 49
  • 4 / 0
Re: .htaccess
« Ответ #24 : 05.07.2011, 16:34:02 »
Разрешить доступ с определенного IP.

order allow deny
deny from all
allow from 000.000.000.000

у меня не работает почему то....создаю файл .htaccess. Помещаю его в папку "Администратор" (чтобы закрыть доступ к админке с чужих айпи). Вместо нуликов пишу свой айпи.
И не пускает меня с моего айпи...
вот что пишет:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, 28-1@mail.ru and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
________________________________________________________________

Разобрался. Вот верное написание, если кому надо:

Order Deny,Allow
Deny from all
Allow from 000.000.000.000
« Последнее редактирование: 05.07.2011, 16:51:43 от dim66 »
*

ilgizon87

  • Захожу иногда
  • 134
  • 11 / 0
Re: .htaccess
« Ответ #25 : 23.07.2011, 11:55:20 »
количество запросов к базе до и после?
Не знаю как Вы пытаетесь кардинально повлиять на количество запросов к базе данных файлом .htaccess.Тут нужно смотреть в каждом отдельно взятом случае.
А что касается файла .htaccess - все работает!В частности вставил .htaccess файл вот этот
« Последнее редактирование: 23.07.2011, 12:44:18 от ilgizon87 »
*

Lue

  • Новичок
  • 2
  • 0 / 0
Re: .htaccess
« Ответ #26 : 30.07.2011, 09:26:32 »
привет! помогите пжл с этим файлом .htaccess Я НЕ программист и вообще далека от этого, но у меня выдается ошибка, когда я через фтп загружаю фотки на сайт. Потом на сайте при вставке фотографии в статью они не находятся. В менеджере изображения внизу в просмотре, когда я выбираю папку с фото все время написано загрузка и так и не открываются фотографии.
Была ошибка Warning Division byzerro error in line 516 of file, нашла на форуме что в .htaccess надо прописать СharsetRecodeMultipartForms Off
прописала, но вот фотографии так и не загружатся.

вот как у меня сейчас все прописано в файле .htaccess   

##
# @version $Id: htaccess.txt 14401 2010-01-26 14:10:00Z louis $
# @package Joomla
# @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
# Joomla! is Free Software
##

#####################################################
#  READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations.  It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file.  If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your SEF url's.  If they work,
# it has been set by your server administrator and you do not need it set here.
#
#####################################################

##  Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

#
#  mod_rewrite in use
php_value upload_max_filesize 20M
RewriteEngine On

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


DirectoryIndex index.html index.shtml index.pl index.cgi index.php

########## Begin - Rewrite rules to block out some common exploits
## If you experience problems on your site block out the operations listed below
## This attempts to block the most common type of exploit `attempts` to Joomla!
## Deny access to extension XML files (uncomment out to activate)
#<Files ~ "\.xml$">
#Order allow,deny
#Deny from all
#Satisfy all
#</Files>
## End of deny access to extension XML files
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%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})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## End - Rewrite rules to block out some common exploits

#  Uncomment following line if your webserver's URL
#  is not directly related to physical file paths.
#  Update Your Joomla! Directory (just / for root)

# RewriteBase /

########## Begin - Joomla! core SEF Section
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## End - Joomla! core SEF Section
RewriteCond %{HTTP_HOST} ^portalnk.ru$ [OR]
RewriteCond %{HTTP_HOST} ^www.portalnk.ru$
RewriteRule ^index\.php$ "http\:\/\/www\.portalnk\.ru\/" [R=301,L]

##CharsetRecodeMultipartFormsOff



Подскажите ПЖЛ что-то может подправить надо и как??
*

Lue

  • Новичок
  • 2
  • 0 / 0
Re: .htaccess
« Ответ #27 : 30.07.2011, 10:18:14 »
и еще! Если загрузить через фтп в другую старую папку с фотографиями, то фото размещается. Такое впечатление, что у меня исключительно с папками рамс какой-то!
*

webAlex345

  • Новичок
  • 3
  • 0 / 0
Re: .htaccess
« Ответ #28 : 10.08.2011, 19:08:54 »
Здравствуйте всем!

У меня такая вот проблема. После подключения файла htaccess на сайте перестали отображаться страницы вкладок меню второго уровня и пропала информация со страниц главного меню. Это все творится при включенном SEF в админке сайта, если SEF отключить то то все работает нормально и информация вся появляется.

вот сам htaccess

##
# @version $Id: htaccess.txt 9975 2008-01-30 17:02:11Z ircmaxell $
# @package Joomla
# @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
# Joomla! is Free Software
##


#####################################################
#  READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations.  It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file.  If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your SEF url's.  If they work,
# it has been set by your server administrator and you do not need it set here.
#
#####################################################

##  Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

#
#  mod_rewrite in use

AddDefaultCharset UTF8

RewriteEngine On
RewriteBase /
RewriteEngine On

RewriteCond %{HTTP_HOST} ^siteName.com.ua [NC]
RewriteRule ^(.*)$ http://www.siteName.com.ua/$1 [L,R=301]


#  Uncomment following line if your webserver's URL
#  is not directly related to physical file paths.
#  Update Your Joomla! Directory (just / for root)




########## Begin - Joomla! core SEF Section
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## End - Joomla! core SEF Section


########## Begin - Rewrite rules to block out some common exploits
## If you experience problems on your site block out the operations listed below
## This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%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})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## End - Rewrite rules to block out some common exploits


Объясните пожалуйста что здесь для чего или дайте пожалуйста ссылочку!
Особенно, как мне кажется вот эти строки
RewriteCond %{HTTP_HOST} ^siteName.com.ua [NC]
RewriteRule ^(.*)$ http://www.siteName.com.ua/$1 [L,R=301]
важны, хотя я могу и ошибаться!

Помогите пожалуйста разобраться!
*

ilgizon87

  • Захожу иногда
  • 134
  • 11 / 0
Re: .htaccess
« Ответ #29 : 10.08.2011, 22:01:03 »
Залейте стандартный htaccess файл в корневую директорию (ну, или просто замените содержимое). И уже тогда дополняйте свой файл со знанием дела. То есть узнайте предварительно какая запись за что отвечает.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

два файла htaccess

Автор panzerfater

Ответов: 0
Просмотров: 1529
Последний ответ 24.11.2017, 16:31:54
от panzerfater
Блокировка ботов в.htaccess

Автор mari_morozova

Ответов: 9
Просмотров: 6982
Последний ответ 15.07.2013, 17:39:33
от mari_morozova
htaccess

Автор Akksimo

Ответов: 1
Просмотров: 1132
Последний ответ 28.11.2012, 11:26:25
от draff
В чем ошибка синтаксиса .htaccess?

Автор Natali365

Ответов: 6
Просмотров: 2782
Последний ответ 20.09.2012, 16:53:21
от 01Kuzma
htaccess изменение url с get параметрами

Автор Nikolay

Ответов: 4
Просмотров: 3940
Последний ответ 27.04.2012, 09:52:04
от Nikolay