Лучшая практика для белой маркировки статического веб-сайта? - PullRequest
0 голосов
/ 22 февраля 2012

У меня есть структура каталогов с файлами в каталоге «web», который представляет собой веб-сайт с белой меткой (html-файлы, изображения, js и т. Д.). У меня также есть около двадцати различных «брендов», назовем их «web-1», «web-2» и т. Д., Каждый из которых содержит определенные файлы, которые должны переопределять файлы в «web» для определенного бренда.

Apache настроен на поиск файлов для каждого виртуального сайта i в корневом каталоге документов «website-i». Чтобы каждый «website-i» содержал контент типа «web» с переопределениями для бренда «web-i», мой скрипт сборки сначала копирует все «web» в «website-i», а затем переопределяет его с источником файлы из 'web-i'.

Есть несколько проблем с этим подходом:

  1. Требуется время для копирования файлов.
  2. Занимает много места на диске
  3. Добавление нового бренда требует добавления в скрипт.

Есть ли лучший способ сделать это так, чтобы не требовалось дублировать файлы? (с Apache и Linux)

1 Ответ

0 голосов
/ 23 февраля 2012

Что ж, лучшее решение - это довольно простой серверный код, но я собираюсь предположить, что вы уже это отклонили, возможно, из-за того, что у вас нет разрешения на запуск кода на сервере (хотя, если вы взломали конфигурациютогда вы, вероятно, делаете).

Решение только в конфигурации может сделать так, чтобы он служил из корневого каталога по умолчанию, но переписать URL, если файл существует в правильном каталоге ...

RewriteCond  /web-1/a_file  -f
RewriteRule  ^(.*)$  /web/$1  

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

Серьезно, серверный код - это путь для продолженияэто ...

Как ни странно, коллега по работе был почти в той же ситуации пару недель назад, и в конце концов он переписал его как PHP.Каждый сайт представляет собой строку в базе данных, одну страницу, которая извлекает измененный текст и URL-адреса для изображений и т. Д. И возвращается к значению по умолчанию, если там ничего нет.

Сказав все это.Использование ссылок, как вы сказали выше, решает проблему 2, вероятно, большую часть 1, и я не думаю, что есть способ обойти 3.

...