Лучшие практики для поддержания активов в (суб) доменах? - PullRequest
4 голосов
/ 05 сентября 2011

Моя файловая система веб-сервера эквивалентна следующей:

/master-domain.tld
/master-domain.tld/assets/js/foo.js
/master-domain.tld/assets/css/bar.css

/sub1.master-domain.tld
/sub1.master-domain.tld/assets/js/foo.js

/sub2.master-domain.tld
/sub1.master-domain.tld/assets/css/bar.css
...

То, что я хотел бы знать, - это как обслуживать мои общие статические активы (размещенные в главном домене) для моих поддоменов - причина в том, что тогда мне нужно только поддерживать один набор «главных» активов, а не обновлять / копировать любые файлы во все другие субдомены каждый раз, когда я их редактирую. Очевидно, что это может быть достигнуто с помощью абсолютных URL-адресов, но моя цель состоит в том, чтобы избежать их, чтобы моя локальная / dev-система не выполняла никаких удаленных вызовов во время разработки / отладки.

В настоящее время у меня есть комбо mod_rewrite + символическая ссылка + php скрипт, настроенный для каждого субдомена, связывающий любые вызовы с несуществующими локальными активами с основными активами. например вызов "/sub1.master-domain.tld/assets/css/bar.css" извлечет файл bar.css, размещенный в домене master , так как локальная версия bar.css не существует. Кроме того, вызов «/sub1.master-domain.tld/assets/js/foo.js» будет обслуживать локальную версию foo.js, поскольку она существует.

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

Какие-нибудь советы? Я поступаю об этом совершенно неправильно?

Ответы [ 3 ]

1 голос
/ 05 сентября 2011

Символьные ссылки должны быть все, что требуется, если они все на одном сервере.Это не должно привести к снижению производительности вообще.Например,

/sub1.master-domain.tld/assets -> /master-domain.tld/assets

Если ваши субдомены обслуживаются с нескольких серверов, я бы настроил правило mod_rewrite с 302 перенаправлениями на полный URL-адрес главного домена.На этом сервере главного домена я бы установил mod_expires, чтобы активы кэшировались, избегая большинства последующих запросов к тем же «пропущенным» ресурсам на поддоменах.

0 голосов
/ 05 сентября 2011

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

0 голосов
/ 05 сентября 2011

Если они находятся на одной машине, почему бы не указать разные псевдонимы виртуальных хостов на один и тот же корень документа?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...