software:development:demo:cms:ucms:htaccess
7.4. Файл .htaccess
Введение
.htaccess — это конфигурационный файл веб-сервера Apache, позволяющий управлять работой веб-сервера и настройками сайта с помощью различных параметров (директив) без изменения основного конфигурационного файла веб-сервера.
Проверка корневой директории
Создадим в /ucms новый файл license_test.txt и запишем в него «текст заглушку»
- license_test.txt
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
откроем его в браузере
Файл .htaccess
Создадим в главной директории /ucms файл .htaccess
и запретим к просмотру файла license_test.txt, readme.txt и help.txt находящихся в этой же директории, записав следующий код:
- .htaccess
# запретим просмотр файлов с расширением .txt следующих файлов # license_test.txt, readme.txt, help.txt RewriteEngine On RewriteRule ^(license_test|readme|help)\.txt$ - [R=403,L,NC]
Обновим страницу браузера
Теперь при обращении к файлу license_test.txt Веб-сервер выводит сообщение о запрете на доступ к этому файлу.
«Некоторые советы и рекомендации по 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.txt · Последнее изменение: — 127.0.0.1



