Меню
logotype
image1 image1 image1

Что такое фаил .htaccess

Что такое .htaccess и для чего он нужен

Каждый начинающий вебмастер рано или поздно сталкивается с какими либо настройками которые сложно сделать либо не понимает как. Например редирект 301(перенаправление). Это один из важных шагов в сайта строении поэтому отнеситесь к этому серьезно! И вот на помощь приходит этот файл .htaccess, но изначально он выглядит немного по другому htaccess.txt чтоб он работал его надо настроить. Но давайте все по порядку.

 Что такое .htaccess

Файл .htaccess  это хостинговый документ, который находится в корневой папке вашего сайта. То есть на сервере вашего хостинга. Его обычно можно найти вот таким способом. Заходите в личный кабинет вашего хостинга (сервер на котором находится ваш сайт). В быстром поиске пишите файловый менеджер. Вам выдает варианты. У меня это выглядит так.

файловый менеджер

Добираемся то корневой папки сайта. Выглядит вот так:

корневая папка

У меня переименованный файл,у вас он будет выглядеть htaccess.txt .Далее с помощью блокнота notepad++(у кого нет,скачайте) создаем пустой файл и именуем его .htaccess сохраняем на рабочем столе. Далее загружаем его в корневую папку сайта. Все, первый шаг создание файла мы сделали. Теперь второй,заполнить его нужными директивами. По этому поводу много вариантов, я запарился читать и общаться со специалистами.     Изначально ваш .htaccess  внутри выглядит вот так: у меня cms Joomla, у вас может чуть по другому, но принцип тот же.

##
# @package    Joomla
# @copyright  Copyright (C) 2005 - 2015 Open Source Matters. All rights reserved.
# @license    GNU General Public License version 2 or later; see LICENSE.txt
##
##
# 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 disallows 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.
##
## No directory listings
IndexIgnore *
## Can be commented out if causes errors, see notes above.
Options +FollowSymlinks
Options -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 base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block out any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%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})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
#
## End - Rewrite rules to block out some common exploits.
## Begin - Custom redirects
#
# If you need to redirect some pages, or set a canonical non-www to
# www redirect (or vice versa), place that code here. Ensure those
# redirects use the correct RewriteRule syntax and the [R=301,L] flags.
#
## End - Custom redirects
##
# 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.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
Для чего нужен .htaccess
 .htaccess предназначен для управления сайтом на серверах хостинга Apache (практически все хостинги) и поэтому особого значения не имеет какой у вас движок сайта. Незнаю я разницы особо не заметил. Может и есть но не большая. Ну по крайне мере я не нашел что .htaccess зависит от движка сайта. Если у вас есть такая инфа поделитесь со мной:). Вот рабочий .htaccess 
php_value memory_limit 512M
AddDefaultCharset UTF-8
IndexIgnore *
Options -Indexes
ErrorDocument 404 /404.html
RewriteEngine On
Options +FollowSymlinks
#Редирект 301 (настроен с www на без www)
RewriteCond %{HTTP_HOST} ^www.вашдомен\.ru$ [NC]
RewriteRule ^(.*)$ http://вашдомен.ru/$1 [R=301,L]
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]
# RewriteBase /
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
<ifModule mod_expires.c>
FileETag MTime Size
AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript
ExpiresActive On
#по умолчанию кеш в 5 секунд
ExpiresDefault "access plus 2592000 seconds"
#кэшировать флэш и изображения на месяц
# ExpiresByType image/x-icon "access plus 2592000 seconds"
# ExpiresByType image/jpeg "access plus 2592000 seconds"
# ExpiresByType image/jpg "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"
#кэшировать флэш и изображения на 2 месяца
ExpiresByType image/x-icon "access plus 5270400 seconds"
ExpiresByType image/jpeg "access plus 5270400 seconds"
ExpiresByType image/jpg "access plus 5270400 seconds"
ExpiresByType image/png "access plus 5270400 seconds"
ExpiresByType image/gif "access plus 5270400 seconds"
ExpiresByType application/x-shockwave-flash "access plus 5270400 seconds"
#кэшировать css, javascript и текстовые файлы на одну неделю
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 604800 seconds"
ExpiresByType application/javascript "access plus 604800 seconds"
ExpiresByType application/x-javascript "access plus 604800 seconds"
#кэшировать html и htm файлы на один день
ExpiresByType text/html "access plus 43200 seconds"
#кэшировать xml файлы на десять минут
ExpiresByType application/xhtml+xml "access plus 600 seconds"
</ifModule>
# Включаем кэш в браузерах посетителей
<ifModule mod_headers.c>
# Все html и htm файлы будут храниться в кэше браузера один день
<FilesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=43200"
</FilesMatch>
# Все css, javascript и текстовые файлы будут храниться в кэше браузера одну неделю
<FilesMatch "\.(js|css)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
# Все флэш файлы и изображения будут храниться в кэше браузера один месяц
<FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">
# Header set Cache-Control "max-age=2592000"
Header set Cache-Control "max-age=5270400"
</FilesMatch>
# Отключаем кеширование php и других служебных файлов
<FilesMatch "\.(pl|php|cgi|spl|scgi|txt|xml|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>
# Включаем сжатие
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file\.(html?|txt|css|js|php|pl)$
mod_gzip_item_include mime^text\.*
mod_gzip_item_include mime^application/x-javascript.*
mod_gzip_item_exclude mime^image\.*
mod_gzip_item_exclude rspheader^Content-Encoding:.*gzip.*
</IfModule>
AddEncoding gzip .gz
 Пользуйтесь на здоровье :) у меня все работает и редирект 301, и сжатие g-zip основные функции. Но прежде чем редактировать сохраните обязательно оригинальный фаил,который изначально стоит у вас. Если что не так пойдет всегда можно восстановить!!!
 
 
 

Добавить комментарий


Защитный код
Обновить

Яндекс.Метрика

Copyright by © 2015-2018 Moneysochi.ru