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

Реплики и ссылки на заметки

В Фейсбуке

Ссылки на заметки

Вконтакте

Ссылки на заметки

В Телеграме

Ссылки на заметки

В Тумблере

Заметки целиком

В Же-же

Заметки целиком

По РСС

Заметки целиком

Если что-то из этого не работает, напишите мне: 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. Спасибо.

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

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

Популярное