Форум программистов, компьютерный форум, киберфорум
Apache, htaccess
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
3 / 3 / 0
Регистрация: 10.06.2016
Сообщений: 420

Простенький .htaccess

03.03.2025, 17:10. Показов 2197. Ответов 20

Студворк — интернет-сервис помощи студентам
Сделал .htaccess-файл для сайта, но по нему несколько вопросов:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Установление кодировки страниц сайта
AddDefaultCharset UTF-8
 
# Назначение стартовой страницы
DirectoryIndex index.php index.html
 
# Запрещение пользователям просматривать содержимое директорий
Options -Indexes
 
# Установка временной зоны
SetEnv TZ Europe/Milan
 
# Перезапись URL
<IfModule mod_rewrite.c>
 
  # Включение mod_rewrite, если модуль еще не активен
  RewriteEngine On
    
  # Обрезание полного пути (от корня сервера) до корня сайта
  RewriteBase /
 
  #  Возможные варианты входа на сайт:
  #    site.com                   site.com/                  site.com/index.php
  #    http://site.com            http://site.com/           http://site.com/index.php
  #    https://site.com           https://site.com/
  #    www.site.com               www.site.com/              www.site.com/index.php
  #    http://www.site.com        http://www.site.com/       http://www.site.com/index.php
  #    https://www.site.com       https://www.site.com/      https://www.site.com/index.php
  #
  #  А нужно загружать сайт с https://site.com/index.php
  #
  #  Не будет ли ошибочным код:
  RewriteCond %{HTTP_HOST} !^$
  RewriteRule ^(.*)$ https://site.com/index.php [R=301,L]
 
</IfModule>
 
# Вывод 404 ошибки если выключен mod_rewrite
<IfModule !mod_rewrite.c>
  ErrorDocument 404 "Not found mod_rewrite.c"
</IfModule>
 
# Защита файлов следующих типов от просмотра веб-клиентами
<FilesMatch ".(htaccess|htpasswd|ini|dat|txt)$">
  Order Allow,Deny
  Deny from all
</FilesMatch>
 
# Указание браузеру загружать архивные файлы, а не отображать их
AddType application/octet-stream .rar .zip
 
 
# СООБЩЕНИЯ ОБ ОШИБКАХ
# Not found (Не найдено)
ErrorDocument 404 "Error 404 Not found"
# Forbidden (Доступ запрещён)
ErrorDocument 403 "Error 403 Forbidden"
 
 
# З А П Р Е Т   Н А   К Э Ш И Р О В А Н И Е   Ф А Й Л О В
 
#    ЗДЕСЬ ОШИБКА - выдаёт Internal Server Error
# Отключением кеширования для скриптов и других динамических файлов
#<FilesMatch ".(cgi|php)$">
#  Header unset Cache-Control
#  или
#  Header set Cache-Control "max-age=20"
#</FilesMatch>
 
#   ЭТО ОШИБКИ НЕ ВЫДАЁТ
# Кэширование некоторых типов файлов (т.е. запрет на кэширование)
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType application/javascript "access plus 20 seconds"
  ExpiresByType text/javascript "access plus 20 seconds"
  ExpiresByType text/css "access plus 20 seconds"
  ExpiresByType image/gif "access plus 20 seconds"
  ExpiresByType image/jpeg "access plus 20 seconds"
  ExpiresByType image/png "access plus 20 seconds"
</IfModule>
1. Блок <ifModule mod_rewrite.c> ... </ifModule> сколько раз можно прописывать? Один или больше?
2. Возможные варианты входа на сайт заменить на один. Пройдёт ли по простому? Виртуального сайта пока нет, а на локальном не тестируется.
3. Каков порядок следования директив в .htaccess? Или без разницы?
4. Обязательна ли директива временной зоны "SetEnv TZ" (её можно и в PHP)?
5. Редирект на мобильную версию сайта можно сделать и в PHP, а в .htaccess тоже нужно прописать директивы редиректа на мобильную версию сайта?
6. Почему выдаёт ошибку 1-й вариант "запрет на кэширование файлов"?
7. Что ещё можно добавить в .htaccess?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.03.2025, 17:10
Ответы с готовыми решениями:

htaccess берет правила из другого htaccess. Возможно?
Добрый день! Есть сайт с разветвленной структурой каталогов. В разных каталогах - разные правила mod_rewrite. Но есть несколько...

Что такое .htaccess?
Во многих PHP - скриптах часто встречаются файлы .htaccess Я так понял, если написать там ErrorDocument 401 /401.php ...

.htaccess Изменение директив
Подскажите пожалуйста. Я хочу для отдельного модуля задать. register_globals = On Как ине это сделать я пробовал php_value...

20
Заблокирован
03.03.2025, 18:05
Цитата Сообщение от Инженер_3 Посмотреть сообщение
Обязательна ли директива временной зоны "SetEnv TZ" (её можно и в PHP)?
Необязательная. Будет определяться временем сервера. Если это локальный сервер - то временем компа.
Цитата Сообщение от Инженер_3 Посмотреть сообщение
Что ещё можно добавить в .htaccess?
Надо делать то, что необходимо. Обычно, если сервер на Апаче, то прописывают единую точку входа для ЧПУ. А мобильные версии сайтов я уже давно не встречал в интернете. Делают адаптивный дизайн, который работает на всех девайсах.
1
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3957 / 2071 / 831
Регистрация: 13.03.2010
Сообщений: 6,826
03.03.2025, 18:09
1. Хоть сколько.
2. Не вижу ничего криминального, если работает.
3. Рекомендуемый порядок:
- Настройки безопасности
- Кодировка и временная зона
- Работа с URL (mod_rewrite)
- Обработка ошибок
- Кэширование
4. Нет.
5. Без разницы.
6. mod_headers включен? Если нет, то Header и не будет работать.
7. Gzip, какую-нить защиту от спам-запросов, защиту от горячего линкования изображений... Да дофига всего можно.
1
3 / 3 / 0
Регистрация: 10.06.2016
Сообщений: 420
03.03.2025, 19:50  [ТС]
Цитата Сообщение от sajokarife Посмотреть сообщение
А мобильные версии сайтов я уже давно не встречал в интернете.
Ну как же, и отличие компьютерной версии от мобильной в основном в меню.
У мобильной версии менюха на весь экран, выезжает справа или слева (это 1-й уровень), кликаете по выбранной ссылке - выезжает 2-й уровень и так далее, пока не дойдёт до контента.
У компьютерной версии менюна узкая на всю ширину экрана, под которой уже есть какой-то контент, а при клике - раскрываются подменю, а само ВСЁ меню перед глазами. Вот и преимущество компьютерной версии.
Хотя есть сайты где обе версии меню присутствуют одновременно - на выбор.

Добавлено через 9 минут
Цитата Сообщение от gogolik Посмотреть сообщение
1. Хоть сколько.
2. Не вижу ничего криминального, если работает.
3. Рекомендуемый порядок:
- Настройки безопасности
- Кодировка и временная зона
- Работа с URL (mod_rewrite)
- Обработка ошибок
- Кэширование
4. Нет.
5. Без разницы.
6. mod_headers включен? Если нет, то Header и не будет работать.
7. Gzip, какую-нить защиту от спам-запросов, защиту от горячего линкования изображений... Да дофига всего можно.
3. А "Настройки безопасности" - это защита от скриптовых инъекций?
6. mod_header был закомментирован в httpd.conf, я раскомментировал, но ошибка продолжает выскакивать. Буду колдовать (сервер перегружу, а потом очищу кэш браузера)
7. Gzip - он сильно помогает в сжатии? Он же сжимает только один файл, а на странице ещё куча картинок, как с ними быть? Или Gzip по очереди сжимает и посылает в браузер клиента файлы?

Добавлено через 2 минуты
Цитата Сообщение от gogolik Посмотреть сообщение
3. Рекомендуемый порядок:
- Настройки безопасности
- Кодировка и временная зона
- Работа с URL (mod_rewrite)
- Обработка ошибок
- Кэширование
Где-то читал, что mod_rewrite нужно использовать "повыше" (ближе к началу .htaccess), но насколько высоко не было указано.
0
Заблокирован
03.03.2025, 19:53
Цитата Сообщение от Инженер_3 Посмотреть сообщение
У мобильной версии менюха на весь экран
Цитата Сообщение от Инженер_3 Посмотреть сообщение
У компьютерной версии менюна узкая на всю ширину экрана
Это делается всё с помощью CSS и JS в зависимости от ширины экрана на одном домене и по желанию разработчика. Я, например, мобильное меню оставляю и на полной версии. Мне так больше нравится.
Когда я говорил, что мобильной версии давно не встречал - это имел ввиду, когда делают один домен для полной версии, а другой домен для мобильной. Когда на одном домене - это называется адаптивный дизайн.
1
 Аватар для voraa
1257 / 1210 / 179
Регистрация: 21.01.2024
Сообщений: 5,571
03.03.2025, 21:31
Цитата Сообщение от Инженер_3 Посмотреть сообщение
7. Gzip - он сильно помогает в сжатии? Он же сжимает только один файл, а на странице ещё куча картинок, как с ними быть? Или Gzip по очереди сжимает и посылает в браузер клиента файлы?
Конечно сжимается каждый отдельный файл.
Исходный html в 78К сжимается до 18К, исходный js в 21К сжимается до 5К

И нужно указывать, файлы какого типа сжимать.
jpg сжимать не нужно, только текстовые различных типов.
1
3 / 3 / 0
Регистрация: 10.06.2016
Сообщений: 420
04.03.2025, 18:48  [ТС]
Цитата Сообщение от sajokarife Посмотреть сообщение
Когда на одном домене - это называется адаптивный дизайн.
Так на одном домене можно и резиновый дизайн делать, правда за счёт масштабирования немного качество ухудшается, но зато не нужно плодить огромный css-файл по каждое разрешение экрана устройства

Добавлено через 4 минуты
Цитата Сообщение от voraa Посмотреть сообщение
Конечно сжимается каждый отдельный файл.
Исходный html в 78К сжимается до 18К, исходный js в 21К сжимается до 5К
И нужно указывать, файлы какого типа сжимать.
jpg сжимать не нужно, только текстовые различных типов.
Так там алгоритм сжатия как у архиватора? Я на 7-zip сжал php-файл размером 210kb (он был очищен от пустых строк, лишних пробелов, табуляций) сжал до 14kb.
А вот jpg-файл почти не сжал. Получается, что картинки не сжимать?
Следовательно, нужно сжимать только js, css, html ?
0
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3957 / 2071 / 831
Регистрация: 13.03.2010
Сообщений: 6,826
04.03.2025, 18:54
Цитата Сообщение от Инженер_3 Посмотреть сообщение
Получается, что картинки не сжимать?
Цитата Сообщение от voraa Посмотреть сообщение
jpg сжимать не нужно, только текстовые различных типов.
Вам уже ответили. jpg - уже сжатый файл. Для уменьшения веса изображений переходите на современные форматы типа webp.
0
 Аватар для voraa
1257 / 1210 / 179
Регистрация: 21.01.2024
Сообщений: 5,571
04.03.2025, 19:10
Цитата Сообщение от Инженер_3 Посмотреть сообщение
но зато не нужно плодить огромный css-файл по каждое разрешение экрана устройства
Ну не такой уж он и огромный. На 3 (смартфон, планшет, десктоп) или 4 (смартфон, планшет, десктоп маленький, десктоп большой) - вполне хватает.
А как вы тогда будете различать смартфон в портретной или ландшафтной ориентации?

Добавлено через 49 секунд
Цитата Сообщение от Инженер_3 Посмотреть сообщение
Так там алгоритм сжатия как у архиватора?
Может быть похуже для оптимизации скорости.
0
3 / 3 / 0
Регистрация: 10.06.2016
Сообщений: 420
05.03.2025, 16:14  [ТС]
Цитата Сообщение от gogolik Посмотреть сообщение
Для уменьшения веса изображений переходите на современные форматы типа webp.
webp-файл вряд ли будет меньше, чем gif-файл.
А по какому алгоритму прессует картинку webp-формат?

Добавлено через 3 минуты
Цитата Сообщение от voraa Посмотреть сообщение
А как вы тогда будете различать смартфон в портретной или ландшафтной ориентации?
if (width < height && устройство == mobile) портретная_ориентация;
else ландшафтная_ориентация;
0
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3957 / 2071 / 831
Регистрация: 13.03.2010
Сообщений: 6,826
05.03.2025, 16:17
Цитата Сообщение от Инженер_3 Посмотреть сообщение
webp-файл вряд ли будет меньше, чем gif-файл.
В среднем в 1.5-2 раза легче. Вы лучше изучите матчасть, а не гадайте на кофейной гуще.
0
 Аватар для voraa
1257 / 1210 / 179
Регистрация: 21.01.2024
Сообщений: 5,571
05.03.2025, 16:29
Цитата Сообщение от Инженер_3 Посмотреть сообщение
if (width < height && устройство == mobile) портретная_ориентация;
else ландшафтная_ориентация;
Это на css будет или на js?
0
3 / 3 / 0
Регистрация: 10.06.2016
Сообщений: 420
05.03.2025, 18:34  [ТС]
Цитата Сообщение от voraa Посмотреть сообщение
Это на css будет или на js?
Я написал на "разговорном", но можно на JavaScript
0
Заблокирован
05.03.2025, 18:59
Цитата Сообщение от Инженер_3 Посмотреть сообщение
можно на JavaScript
JS один раз проверит и выдаст нужный результат. А если пользователь будет вращать смартфон то так, то этак? Или может будет какой-то таймер для периодической проверки размеров?)
Не надо изобретать велосипед, который уже давно изобрели)
0
 Аватар для voraa
1257 / 1210 / 179
Регистрация: 21.01.2024
Сообщений: 5,571
05.03.2025, 20:41
Цитата Сообщение от Инженер_3 Посмотреть сообщение
но можно на JavaScript
И что потом? На js перемещать элементы, менять их размеры, делать одни видимыми, другие нет?
Вместо больших CSS, огромные js?
0
3 / 3 / 0
Регистрация: 10.06.2016
Сообщений: 420
06.03.2025, 05:49  [ТС]
Цитата Сообщение от voraa Посмотреть сообщение
И что потом? На js перемещать элементы, менять их размеры, делать одни видимыми, другие нет?
Вместо больших CSS, огромные js?
Масштабирование решит проблему.
Хотя, сначала опробую в реальности, а потом создам новую тему.

Добавлено через 2 минуты
Цитата Сообщение от sajokarife Посмотреть сообщение
Не надо изобретать велосипед, который уже давно изобрели)
Разрешений мобильных устройств очень много.
Хотя смартфон не предназначен для работы - только лента новостей, разговоры и примитивные игрушки. Всё серьёзное только через десктоп.

Добавлено через 59 секунд
Всем спасибо за помощь в разрешении вопросов по .htaccess
0
Заблокирован
06.03.2025, 05:54
Цитата Сообщение от Инженер_3 Посмотреть сообщение
Всё серьёзное только через десктоп.
10-15 процентов от общего трафика в инэте. Остальной идет через мобильные телефоны.
Цитата Сообщение от Инженер_3 Посмотреть сообщение
Разрешений мобильных устройств очень много.
Никто не делает под каждый телефон отдельные стили. Уже об этом писалось. Следует поизучать медиазапросы в CSS.
0
 Аватар для voraa
1257 / 1210 / 179
Регистрация: 21.01.2024
Сообщений: 5,571
06.03.2025, 07:08
Цитата Сообщение от sajokarife Посмотреть сообщение
10-15 процентов от общего трафика в инэте.
Ну как раз 10-15% серьезных вещей. Остальное "котики" и прочие болталки.
0
Заблокирован
06.03.2025, 07:23
Цитата Сообщение от voraa Посмотреть сообщение
Ну как раз 10-15% серьезных вещей. Остальное "котики" и прочие болталки.
Это всё лирика. Кто-то любит арбуз, а кто-то свинной хрящик. Ты считаешь серьёзным свою работу программистом, а кто-то считает это недостойным занятием и уделом "ботаников". Вот такой вопрос. Новостные сайты это серьёзные вещи? У меня есть предположение, что большинство их просматривает на мобильных телефонах.
0
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3957 / 2071 / 831
Регистрация: 13.03.2010
Сообщений: 6,826
06.03.2025, 12:23
Куда-то не туда вас понесло, товарищи )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.03.2025, 12:23
Помогаю со студенческими работами здесь

Файл .htaccess надо писать самому сначала до конца?
Файл .htaccess надо писать самому сна чало до конца?

Как перенаправить в htaccess по такому принципу. Не сложно но как
В гугле проиндексировалось большое кол-во ссылок типа www.domain.com/blablabla/1.php www.domain.com/blablabla/2.php ...

Переадресация в .htaccess при отсутствии параметров
Добрый день! Ситуация следующая. Есть полная (старая) версия сайта, например &quot;site.ru&quot;. На субдомене поднята новая...

perl и .htaccess
Здравствуйте. Есть ли возможность включить .htaccess в директории www (не в cgi)??

Перенаправление на главную страницу через htaccess
Помогите правильно настроить htaccess. Хочу чтобы при заходе на главную виден был не каталог а главная сайта.. Для этого надо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru