Подписка на блог

В Телеграме помимо ссылок на заметки делюсь околодизайнерскими наблюдениями.

В Твиттере помимо ссылок на заметки пишу всякую чушь.

В Тумблере и Же-же есть автоматические трансляции. Если не работает, напишите мне: ilyabirman@ilyabirman.ru.

По РСС и Джейсон-фиду трансляции для автоматических читалок

Про файл .htaccess в дистрибутиве Эгеи

В дистрибутиве Эгеи есть файл .htaccess, который настраивает Апач на нужный лад. В частности, там прописаны правила для mod_rewrite, которые нужны, чтобы работали красивые урлы.

К сожалению, тупица-разработчик Апача додумался до того, что имя этого файла должно начинаться с точки, чтобы файл стал невидимым на Юникс-системах (а значит, и на Маке). Зачем делать невидимым один из самых часто используемых конфигурационных файлов — тайна. В результате некоторые пользователи Эгеи не знают о том, что этот файл в дистрибутиве есть.

Раньше было так: человек распаковывал дистрибутив Эгеи где-нибудь у себя на диске, а потом выделял все файлы и загружал на сервер по ФТП. Проблема в том, что «выделял все файлы» не касалось невидимого .htaccess, поэтому последний на сервер не попадал, и движок не работал. При первом запуске происходил редирект на /install/, но инсталятор уже не открывался, поскольку необходимая настройка mod_rewrite не была сделана.

В какой-то из версий я придумал такой хак: в дистрибутив помимо файла .htaccess я стал класть ещё и его копию под именем htaccess (без точки). При этом перед редиректом на /install/ я стал пытаться переименовать бесточечный файл в точечный:

if (
  (strpos ($_SERVER['SERVER_SOFTWARE'], 'Apache') === 0)
  and !is_file ('.htaccess')
) {
  if (is_file ('htaccess')) {
    if (@rename ('htaccess', '.htaccess')) {
      e2_go_to ();
    }
  }
}

Но всё это работает не очень надёжно. Во-первых, каждые несколько дней мне кто-нибудь пишет письмо о том, что у меня в дистрибутиве ошибка и файл называется без точки. Во-вторых, у некоторых людей файл не переименовывается, потому что они забывают дать права на запись или потому, что у них уже и так лежал какой-нибудь левый .htaccess, который я не решаюсь затереть своим.

Наверняка есть какой-то бест практис на эту тему, чтобы это всё работало надёжно. Если у вас есть такой опыт, и вы знаете, как сделать правильно, напишите, пожалуйста: ilyabirman@ilyabirman.ru. Спасибо.

Подписаться на блог
Поделиться
Отправить

Пользовательский интерфейс
Доступны три раздела
электронного учебника

Популярное