software:development:demo:cms:ucms:htaccess
Различия
Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| software:development:demo:cms:ucms:htaccess [2025/05/08 17:02] – создано - внешнее изменение 127.0.0.1 | software:development:demo:cms:ucms:htaccess [2025/05/11 20:14] (текущий) – внешнее изменение 127.0.0.1 | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====== | + | ====== |
| + | ===== Введение ===== | ||
| + | **.htaccess** — это конфигурационный файл веб-сервера Apache, позволяющий управлять работой веб-сервера | ||
| + | и настройками сайта с помощью различных параметров (директив) без изменения основного конфигурационного | ||
| + | файла веб-сервера. | ||
| - | Этот файл не будет участвовать в работе приложения, это - вспомогательный файл | + | ===== Проверка корневой директории |
| - | {{: | + | Создадим в **/ |
| - | По мере запоминания кода при частом использовании, | + | <code text 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." | ||
| + | </ | ||
| - | Пример файла help.txt | + | откроем его в браузере |
| - | <code php help.txt> | + | |
| - | !Это файл | + | {{: |
| - | ----------------------------------------------------------------------- | + | |
| - | <!-- Комментарии html --> | + | ===== Файл |
| - | // Комментарии | + | Создадим в главной директории **/ |
| - | /* Комментарии CSS */ | + | |
| - | // Комментарии в JavaScript или /* ... */ | + | {{: |
| - | /* Комментарии MySQL */ | + | |
| - | ----------------------------------------------------------------------- | + | и запретим к просмотру файла license_test.txt, |
| - | <?php | + | находящихся в этой же директории, |
| - | // Вставка кода PHP в HTML-файл | + | |
| - | ?> | + | <code php .htaccess> |
| - | ----------------------------------------------------------------------- | + | # запретим просмотр |
| - | Подключение файлов | + | # license_test.txt, |
| - | <script src="js/main.js"></ | + | RewriteEngine On |
| - | ----------------------------------------------------------------------- | + | RewriteRule ^(license_test|readme|help)\.txt$ - [R=403, |
| - | Подключение файлов | + | </ |
| - | <link rel="stylesheet" | + | |
| - | ///////////////////////// | + | Обновим страницу браузера |
| - | в файле login.php переменную password заменили на login_pass | + | |
| - | не забыть !!! произвести замену в reg.php | + | {{: |
| - | //////////////////////// | + | |
| - | закончили на подключении файла | + | Теперь при обращении к файлу **license_test.txt** Веб-сервер выводит сообщение |
| - | и т.д. | + | о запрете на доступ к этому файлу. |
| - | </code> | + | |
| - | Казалось бы, этого можно не делать, но поверьте, когда у нас будет много директорий и много | + | <details>< |
| + | <code php .htaccess> | ||
| + | # Источник интернет | ||
| + | # Source internet | ||
| + | # Сначала протестируйте на локальном хосте | ||
| + | # Test on localhost first | ||
| + | |||
| + | # Переопределить значение по умолчанию index.php | ||
| + | # Ovrride Default index.php | ||
| + | DirectoryIndex home.php | ||
| + | |||
| + | # Запретить доступ к некоторым файлам | ||
| + | # Prevent access to some files | ||
| + | < FilesMatch | ||
| + | Order allow, | ||
| + | Deny from all | ||
| + | Satisfy All | ||
| + | </FilesMatch> | ||
| + | |||
| + | # Изменить заголовки Charset | ||
| + | # Change Charset and Language headers | ||
| + | AddDefaultCharset UTF-8 | ||
| + | DefaultLanguage en-US | ||
| + | |||
| + | # Установить часовой пояс по умолчанию | ||
| + | # Set default time zone | ||
| + | SetEnv IN Asia/ | ||
| + | |||
| + | # Отключить просмотр каталогов | ||
| + | # Disable directory browsing | ||
| + | Options All -Indexes | ||
| + | |||
| + | # Кэшировать такие | ||
| + | # Cache these type of files for 7 days | ||
| + | < | ||
| + | < | ||
| + | Header set Cache-Control "max-age=604800, must-revalidate" | ||
| + | | ||
| + | FileETag None | ||
| + | </ | ||
| + | |||
| + | # Явно отключить кэширование для скриптов и других динамических | ||
| + | # Explicitly disable caching for scripts and other dynamic files | ||
| + | <FilesMatch | ||
| + | Header unset Cache-Control | ||
| + | </FilesMatch> | ||
| + | |||
| + | # Сжатие Java-скрипта | ||
| + | # Java script | ||
| + | < | ||
| + | RewriteEngine On | ||
| + | RewriteCond %{HTTP: | ||
| + | RewriteCond %{REQUEST_FILENAME}.gz | ||
| + | RewriteRule (.*)\.js$ $1\.js.gz [L] | ||
| + | ForceType text/ | ||
| + | </ | ||
| + | |||
| + | # Java-скрипт | ||
| + | # Java script | ||
| + | < | ||
| + | ForceType text/ | ||
| + | Header set Content-Encoding gzip | ||
| + | Header set Vary Accept-Encoding | ||
| + | </ | ||
| + | |||
| + | # Остановить автоматическое добавление файлов | ||
| + | # Stop auto append files by webhosting | ||
| + | <FilesMatch | ||
| + | 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:// | ||
| + | |||
| + | # Пользовательские страницы ошибок | ||
| + | # 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 | ||
| + | < | ||
| + | SetOutputFilter DEFLATE | ||
| + | </IfModule> | ||
| + | |||
| + | # Исправить плохой метатег x-ua | ||
| + | # Fix bad x-ua meta tag | ||
| + | < | ||
| + | < | ||
| + | BrowserMatch MSIE ie | ||
| + | Header set X-UA-Compatible " | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | # Обслуживать | ||
| + | # Serve font files | ||
| + | < | ||
| + | Header set Access-Control-Allow-Origin " | ||
| + | </ | ||
| + | |||
| + | # | ||
| + | #Enable gzip with mod_gzip | ||
| + | < | ||
| + | mod_gzip_on Yes | ||
| + | mod_gzip_dechunk Yes | ||
| + | mod_gzip_item_include file .(html? | ||
| + | mod_gzip_item_include handler ^cgi-script$ | ||
| + | mod_gzip_item_include mime ^text/.* | ||
| + | mod_gzip_item_include mime ^application/ | ||
| + | mod_gzip_item_exclude mime ^image/.* | ||
| + | mod_gzip_item_exclude rspheader ^Content-Encoding: | ||
| + | </ | ||
| + | |||
| + | # Защитить | ||
| + | # 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 | ||
| + | < | ||
| + | AddType application/ | ||
| + | AddType application/ | ||
| + | AddType font/ | ||
| + | AddType application/ | ||
| + | AddType image/ | ||
| + | AddEncoding gzip svgz | ||
| + | </ | ||
| + | |||
| + | # Запретить доступ к папке .git и вернуть 404 | ||
| + | # Prevent .git folder access and return 404 | ||
| + | RewriteRule ^.*\.git.* - [R=404] | ||
| + | |||
| + | # Скрыть php через htaccess, | ||
| + | |||
| + | < | ||
| + | # Apache rewrite_module must be on | ||
| + | RewriteEngine on | ||
| + | RewriteRule ^([^.?]+)$ %{REQUEST_URI}.php [NC,L] | ||
| + | |||
| + | # Redirect with moved status | ||
| + | RewriteRule ^([^.?]+)$ %{REQUEST_URI}.php [R=302, | ||
| + | |||
| + | # Return 404 if original request is file.php | ||
| + | RewriteCond %{THE_REQUEST} "^[^ ]* .*?\.php[? ].*$" | ||
| + | RewriteRule .* - [L,R=404] | ||
| + | </ | ||
| + | |||
| + | # Запретить выполнение PHP-скриптов из папки загрузок | ||
| + | # File location example: /uploads/.htaccess | ||
| + | < | ||
| + | < | ||
| + | Order allow, | ||
| + | Deny from all | ||
| + | </ | ||
| + | < | ||
| + | Require all denied | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | </ | ||
| + | </ | ||
| <note blue> | <note blue> | ||
| - | <wrap left>← [[software: | + | <wrap left>← [[software: |
| - | <wrap right> | + | <wrap right> |
| </ | </ | ||
software/development/demo/cms/ucms/htaccess.1746712935.txt.gz · Последнее изменение: — 127.0.0.1
