Надежный хостинг сайтов
Отдел продаж: 1100-1900
Техническая поддержка: работает
.htaccess - это специальный файл-инструкция для домена apache, с помощью которого можно корректировать конфигурацию веб сервера, его модулей, а так же параметры PHP.
Инструкции распространяются на эту директорию, в которой создан файл, а так же на поддиректории.
Создать .htaccess можно через файловый менеджер хостинга (ISPmanager, который предоставляется бесплатно при аренде выделенного сервера) или через FTP. В Windows, MacOS, возможно, у вас не получится создать этот файл. Поэтому можно поступить следующим образом:
Если вы загрузили файл htaccess, но он не отображается - значит вопрос в настройке FTP клиента или FTP сервера. В системе Unix, на которой работают большинство хостингов, если имя файла начинается на точку, система считает его скрытым. Поэтому, в первую очередь, чтобы сделать так, чтобы файл был доступен - зайдите в настройки вашего FTP клиента, к примеру, FileZilla, и включите отображение скрытых файлов.
В первую очередь, перед тем как начать редактировать этот файл - сделайте его резервную копию. Если что-то сделано не так, вы легко сможете восстановить работу сайта. Редактировать файл можно любым текстовом редакторов. Например, Notepad++, Sublime или редактор в панели хостинга.
Как было сказано выше - действие файла распространяется на текущую директорию и все внутренние поддиректории. Кроме того:
Это означает, что имеется ошибка в файле .htaccess. Возможные причины:
Как устранить эту ошибку: посмотрите в error_log веб сайта. Там обязательно вы увидите указание на ошибку.
Файл .htaccess будет работать как для PHP сайтов, так и для html сайтов. Главное - наличие веб сервера apache, т.к. именно он обрабатывает этот файл.
Индексный файл - это тот файл, который будет открываться при заходе на сайт или директорию сайта. Как правило, это файл: index.php, index.htm, index.html. Но вы можете поменять его на любой другой. К примеру: myfile.php такой директивой:
DirectoryIndex myfile.php
Если вы хотите включить отображение ошибок PHP, то в файл .htaccess необходимо добавить следующую директиву:
php_value display_errors 1
Таким образом, php будет показывать все ошибки прямо в браузере.
Ошибка 403 Forbidden означает, что доступ запрещен. Если вы видите эту ошибку при открытии директории сайта и вместо этого сообщения хотели увидеть список файлов и директорий, это означает, что отключена специальная директива. Это сделано в целях безопасности, чтобы потенциальные вредители не могли найти файлы, через который можно взломать сайт или просто открыть файлы, доступ к которым вы не разрешали. Чтобы включить показ всех файлов и директорий, напишите следующее:
Options +Indexes
А чтобы включить запрет на отображение файлов в директории, напишите:
Options -Indexes
Кроме того, можно запретить к показу только определенные типы файлов в директории. К примеру, запретим показывать файлы .php и .html:
IndexIgnore *.php *.html
Поменять кодировку сайта можно через файл .htaccess. К примеру, по умолчанию, веб сервер работает в кодировке UTF-8, а вам нужна кодировка windows-1251. Изменяется это просто:
AddDefaultCharset windows-1251
Таким образом, вы переопределите кодировку в текущий директории и поддиректории.
Так же можно задать кодировку отдельным типам файлам. К примеру, когда основной документ у вас в одной кодировке, а .htm файлы - в другой. Давайте сменим кодировку браузера для .htm файлов на UTF-8:
AddType "text/html; charset=utf-8" .htm
Вы можете увеличить или уменьшить максимальный размер загружаемого файла через скрипт PHP. К примеру, увеличим размер до 100МБ с помощью двух директив upload_max_filesize и post_max_size:
php_value upload_max_filesize 20M
php_value post_max_size 20M
Обратите внимание, что максимальный размер не может быть больше того значения, которое установлено на сервере. Максимальный размер файла, установленный сервером можно посмотреть через функцию phpinfo().
Через файл .htaccess возможно изменить время жизни сессии PHP. Время жизни задается в секундах. По умолчанию время хранения сессий — 1440 секунд - это 24 минуты.
Давайте увеличим время хранения на 1 неделю. Надо вписать в файл следующие директивы:
php_value session.gc_maxlifetime 604800
php_value session.cookie_lifetime 604800
Однако будьте с этим осторожны. При открытии сайта новым посетителем - создается файл сессии и если у вашего сайта большая посещаемость, то файлов сессий может накопиться очень много, а это может привести к:
Включение обработки других файлов интерпретатором PHP
Через наш файл, вы можете указать отдельный список типов файлов, которые будут обрабатываться через php. К примеру, вы хотите включить обработку файлов интерпретатором PHP, которые имеют расширение .phtml. Тогда впишите:
AddType application/x-httpd-php .phtml
Для любого скрипта на сервере выдается ограничение на максимальный используемый объем оперативной памяти. Параметр называется memory_limit и его можно посмотреть через phpinfo() или изменить через .htaccess. К примеру, ограничить 256 МБ:
php_value memory_limit 256M
Обращаем внимание, что размер нельзя задать больше, чем разрешено самим сервером.
Если у вашего сайта несколько алиасов (зеркал), то для SEO это не очень хорошо, т.к. появляется множество дублей сайта и он перестает быть уникальным. Можно настроить редирект на основной домен вашего сайта, к примеру, на имя website:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^website.ru
RewriteRule ^(.*) http://website.ru/$1 [R=301,L]
То есть, если человек открыл сайт по алиасу, мы его переадресовываем на основной адрес домена.
С недавних пор, Google и другие поисковые системы отдают предпочтение сайта, у которых настроен SSL. И если вы это сделали, то необходимо настроить переадресацию на эту версию, иначе опять возникнут дубли страниц сайта по разным адресам: http и https. Просто впишите следующее в ваш файл:
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
Чтобы исключить дубли сайта и включить переадресацию на https версию сайта, нужно внести следующее. На примере, рассмотрим вариант, когда основной домен - без www:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.(.+) [NC]
RewriteRule ^(.*) https://%1/$1 [R=301,NE,L]
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]
Через файл .htaccess вы можете запретить доступ к ресурсам сайта или наоборот, разрешить только определенным IP адресам. Можно ограничить как ко всем файлам и директориям, так и к некоторым.
К примеру, запретим доступ всем к текущей директории, поддиректории и файлам:
Order Deny,Allow
Deny from all
А можно заблокировать пользователя, зная его IP адрес 192.168.1.1:
Order Deny,Allow
Deny from 192.168.1.1
Или наоборот, запретить всем, а разрешить только 223.332.111.11:
Order Deny,Allow
Deny from all
Allow from 223.332.111.11
Вы можете указать свои страницы для различных ошибок (404,403, 500). Просто указать соответствующий путь до них относительно адреса сайта:
ErrorDocument 403 /error/403error.html
ErrorDocument 404 /error/404error.html
ErrorDocument 500 /error/500error.html
Где /error/название файла - это HTML версия страницы ошибки. Пользователь увидит ее, если возникнет соответствующая ситуация.
Если у вас возникли затруднения в настройке этого файла или некоторые директивы вам не понятны - вы легко можете обратиться к нашей техподдержке за помощью. Мы поможем вам правильно настроить файл .htaccess в любое время.
Хостинг за 99 руб. от RigWEB.RU - платный виртуальный хостинг сайтов
Тарифы хостингаВам ответят в течение 15 минут
Популярные статьи раздела «Помощь в подборе тарифного плана хостинга. На что нужно обратить внимание»
Спасибо, что выбрали RigWEB!
Ваш запрос находится в стадии обработки.
Мы ответим Вам в течение 15 минут.
Спасибо, что выбрали RigWEB!
Этот веб-сайт использует файлы cookies. Если Вы продолжите просматривать сайт, Вы соглашаетесь и принимаете нашу политику конфиденциальности.