Инструменты пользователя

Инструменты сайта


software:development:demo:cms:ucms:htaccess

Это старая версия документа!


7.4. Файл .htaccess

.htaccess — это конфигурационный файл веб-сервера Apache, позволяющий управлять работой веб-сервера и настройками сайта с помощью различных параметров (директив) без изменения основного конфигурационного файла веб-сервера.

«Некоторые советы и рекомендации по Apache .htaccess»
.htaccess
# Источник интернет
# Source internet
# Сначала протестируйте на локальном хосте
# Test on localhost first

# Переопределить значение по умолчанию index.php
# Ovrride Default index.php
DirectoryIndex home.php
 
# Запретить доступ к некоторым файлам
# Prevent access to some files
< FilesMatch  "^(config.php|readme.html|license.txt|README.md|.git|.htaccess|error_log)">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>
 
# Изменить заголовки Charset и Language
# Change Charset and Language headers
AddDefaultCharset UTF-8
DefaultLanguage en-US
 
# Установить часовой пояс по умолчанию
# Set default time zone
SetEnv IN Asia/Calcutta
 
# Отключить просмотр каталогов
# Disable directory browsing
Options All -Indexes
 
# Кэшировать такие файлы на 7 дней
# Cache these type of files for 7 days
<IfModule mod_headers.c>
<FilesMatch "\.(jpg|jpeg|png|ico|gif|css|js|eot|otf|tt[cf]|woff|woff2|svg|mp4|webm|ogv)$">
    Header set Cache-Control "max-age=604800, must-revalidate"
    Header unset ETag
    FileETag None
</FilesMatch>
 
# Явно отключить кэширование для скриптов и других динамических файлов
# Explicitly disable caching for scripts and other dynamic files
<FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
 
# Сжатие Java-скрипта
# Java script compression
<FilesMatch "\.js$">
RewriteEngine On
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule (.*)\.js$ $1\.js.gz [L]
ForceType text/javascript
</FilesMatch>
 
# Java-скрипт - выбор кодировки
# Java script - vary accept encoding
<FilesMatch "\.js\.gz$">
ForceType text/javascript
Header set Content-Encoding gzip
Header set Vary Accept-Encoding
</FilesMatch>
 
# Остановить автоматическое добавление файлов веб-хостингом
# Stop auto append files by webhosting
<FilesMatch "\.(php)$">
php_value auto_append_file none
</FilesMatch>
 
# Перенаправление URL без www на URL с www -
# Redirecting non www URL to www URL -
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
 
# Пользовательские страницы ошибок
# Custom error pages
ErrorDocument 400 /error404.php
ErrorDocument 401 /error401.php
ErrorDocument 403 /error403.php
ErrorDocument 404 /error404.php
ErrorDocument 500 /error500.php
 
# Отключить подпись сервера (версия Apache)
# Disable the server signature (apache version)
ServerSignature Off
 
# Максимальный размер загрузки
# Max upload size
php_value upload_max_filesize 5M
 
# Включить сжатие на локальном хосте
# Enable compression on localhost
<IfModule mod_deflate.c>
  SetOutputFilter DEFLATE
</IfModule>
 
# Исправить плохой метатег x-ua
# Fix bad x-ua meta tag
<FilesMatch "\.(htm|html|php)$">
    <IfModule mod_headers.c>
        BrowserMatch MSIE ie
        Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
    </IfModule>
</FilesMatch>
 
# Обслуживать файлы шрифтов
# Serve font files
<FilesMatch ".(eot|ttf|otf|woff)">
	Header set Access-Control-Allow-Origin "*"
</FilesMatch>
 
#Включить gzip с помощью mod_gzip
#Enable gzip with mod_gzip
<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 handler ^cgi-script$
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>
 
# Защитить каталог, отключив выполнение скрипта
# Secure directory by disabling script execution
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI
 
# Тип MIME для веб-шрифтов
# Mime type for web fonts
<IfModule mod_mime.c>
    AddType application/vnd.ms-fontobject   eot
    AddType application/x-font-ttf          ttf ttc
    AddType font/opentype                   otf
    AddType application/x-font-woff         woff woff2
    AddType image/svg+xml                   svg svgz
    AddEncoding gzip                        svgz
</IfModule>
 
# Запретить доступ к папке .git и вернуть 404
# Prevent .git folder access and return 404
RewriteRule ^.*\.git.* - [R=404]
 
# Скрыть php через htaccess, удалит .php из URL-адресов

<IfModule mod_rewrite.c>
# Apache rewrite_module must be on
RewriteEngine on
RewriteRule ^([^.?]+)$ %{REQUEST_URI}.php [NC,L]
 
# Redirect with moved status
RewriteRule ^([^.?]+)$ %{REQUEST_URI}.php [R=302,NC,L]
 
# Return 404 if original request is file.php
RewriteCond %{THE_REQUEST} "^[^ ]* .*?\.php[? ].*$"
RewriteRule .* - [L,R=404]
</IfModule>
 
# Запретить выполнение PHP-скриптов из папки загрузок
# File location example: /uploads/.htaccess
<FilesMatch "\.(?i:php)$">
  <IfModule !mod_authz_core.c>
    Order allow,deny
    Deny from all
  </IfModule>
  <IfModule mod_authz_core.c>
    Require all denied
  </IfModule>
</FilesMatch>
Только авторизованные участники могут оставлять комментарии.
software/development/demo/cms/ucms/htaccess.1746876111.txt.gz · Последнее изменение: 127.0.0.1