Перенос нужный js и css на отдельный домен

Задаюсь вопросом, есть домен, хотелось бы перенести статику.
Нашел тему http://livestreet.ru/blog/addons/16216.html но по структуре в описании ясно что на альто работать не будет. Есть какой-нибудь мануальчик?

16 комментариев

0
разве это не работает изкаропки? посмотрите конфиг altocms
0
Но я честно говоря не вижу особого смысла в этой фиче, потому что:
1) аналог этого на уровне веб сервера- одна строка с 302 или 301 кодом...
2) в случае nginx — обработка php и так по умолчанию делается через сеть — теость пул воркеров может быть разбросан по десятку серверов, а сам nginx отдает ту самую статику...
3) один домен -это не решение проблемы. если нужен отдельный домен для статики — то там на самом деле должен быть пул доменов... а ни тот плагин, ни altocms пула доменов для статики не дают...

В общем фича забавная, но с практической точки зрения малополезная.
0
к тому же, в тех случаях где надо выносить статику на отдельный домен -речь идет как правило о высокой нагрузке..и в первую очередь на ум приходит CDN(ну вы читали коменты к той статье да?) например если статика у вас- это видеоконтент, или картинки миллионами...и отделаться решением «из каропки с блогосоциальным движком» — не получится ну никак...там требуется определенные архитектурные решения, которые делают оную встроенную фичу с доменом для статики бессмысленной.
0
кстати, если решать задачу через 302 или 301 код вебсервера — то можно в несколько строчек сделать пул доменов для статики — отдельно для js,css, img, отдельно для картнок лежащих по пути .../2016/04/... отдельно для .../2016/05/... .../2016/06/... и т.д. Фича с доменом для статики насколько я понимаю таким богатством выбора не балует?
Отредактирован:
0
Мне нужно только перенести css и js файлы и то не все.
0
включите в админке объединение их в один файл, отдайте его nginx0-ом и забудьте о что вы когдато мечтали об отдельном домене для «не всех css и js »
0
В Альто все js- и css-файлы (если они, конечно, правильно заданы) подключаются из директории /_run. Делаете маппинг этой директории на другой домен и задаете соответствующие настройки в конфиге. Вот настройки по умолчанию:
$config['path']['runtime']['url'] = '/_run/';
$config['path']['runtime']['dir'] = ALTO_DIR . '/_run/';

Как можно увидеть, можно задать любой путь на диске для ассетов и любой урл для подключения. Нужно только сервер правильно настроить, чтоб и маппинг верно работал, и чтоб прав хватало.
0
Я так пониаю ято можно указать с ALTO_DIR . '/_run/'; за место '/_run/' любой другой домен
0
Допустим, адрес вашего сайта — site.com, и директория, где он находится на сервере — /var/www/site.com. По умолчанию ассеты будут складываться в директорию /var/www/site.com/_run/, которая будет доступна по URL site.com/_run/.

Но вы, к примеру, заводите специальны домен static.com и хотите, чтоб js/css брались оттуда. Тогда задаете так:
$config['path']['runtime']['url'] = 'static.com';
$config['path']['runtime']['dir'] = '/var/www/static.com/';

ЗЫ все примеры вымышленные, реальные пути до директорий доменом на вашем сервере могут отличаться
0
Благодарю, Вадим
0
Возвращаюсь опять к вопросу, собственно, домен для статики и папку переопределил через конфиг, остался вопрос, в файле assets.php как правильно переподключить файлы для статики, сейчас стандарт

'___path.skin.dir___/assets/css/posts.css',
0
Еще интересует вопрос по кешу, если переносить, то как быть с кешем
0
остался вопрос, в файле assets.php как правильно переподключить файлы для статики, сейчас стандарт
'___path.skin.dir___/assets/css/posts.css',
Вопрос не очень понятен, т.к. это путь, который указывает ОТКУДА брать файлы. Эти пути ведь не меняются. Меняется только путь КУДА их класть уже обработанные, а это задается в $config['path']['runtime']['dir'].

то как быть с кешем
О каком кеше в данном случае речь?
0
О кешировании css и js..

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

Есть исходные js/css файлы, которые в движке разбросаны по разным местам: в папках с шаблонами, в общих папках с библиотеками фронтенда, плагины могут свои файлы добавлять и т.д. Плюс есть связанные с css-файлами изображения (фоны, элементы декора и проч.).

Движок все это раскиданное хозяйство обрабатывает и собирает в одну рантайм-папку, откуда уже и подключает в итоговый HTML-код страниц. По умолчанию это папка /_run/assets/. Ну, в общем-то да, можно ее назвать кешем для статики.

При желании эту папку с подключаемой статикой можно изменить, для этого меняется параметр $config['path']['runtime']['dir']. Чтоб движок знал, по какому URL эта папка доступна (т.е. какие пути указывать для подключаемых в HTML файлов), задается соответствующий параметр $config['path']['runtime']['url'].

Подчеркну — в эту рантайм-папку ничего вручную переносить не надо, движок сам все перенесет. Исходные js/css тоже трогать не надо — движок сам будет их брать из прежних исходников и класть в новое место.

Поэтому, если задается новое место для рантайм-ассетов (кеш для статики), то удалить можно только содержимое старой папки /_run/assets/, больше ничего удалять не нужно.

Я ясно излагаю?
0
Да, спасибо.
Отредактирован:
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.