Добрый день!
Подскажите, пожалуйста, в чем может быть проблема.
Примитивный html документ протестирован - ssi включения срабатывают (думается, настройки сервера выполнены правильно (ssi расширения: "html shtml")), а вот когда < !--#include file="ssi/test.html"-- > добавляю в друпал (в тело ноды или блок), ничего не происходит, вставки нет.
По теме ничего не нашел, подскажите, что не так? Спасибо!
Комментарии
сначала думал с путями какая заморока, но нет, видимо ssi вообще не обрабатывается: < !--#echo var="HTTP_HOST"-- > тоже не работает.
тут назрел такой вопрос, сайт на друпале запускается через index.php, значит ли это что ssi в данном случае вообще не будет отрабатываться, потому что ssi расширения: "html shtml".
в общем начитался всякого, а понять что не так не получается.
Спасибо за помощь!
Формат ввода какой?
Спасибо, Chyvakoff
к сожалению, с форматом все ок: fullhtml и визивик переключен на plain text.
код страницы посмотрел, в нем все ок... настоящий html комментарий < !--#include file="ssi/test.html"-- > (только без пробелов)
проблема где-то еще...
я не совсем улавливаю, в какой момент происходит ssi включение...
когда мы запрашиваем например mysite.ru/page.html веб сервер не находит такую страницу и дергает друпал, а точнее index.php, друпал что-то отдает веб-серверу (результат в формате html) и это что-то веб-сервер отдает пользователю как mysite.ru/page.html... в какой момент веб-сервер будет делать ssi включение?
в общем чего-то не хватает...
вопрос еще и в другом
1) урл mysite.ru/page.html может быть любым и не обязательно будет иметь расширение html, поэтому если веб-сервер делает ssi включение перед тем как отдать результат пользователю, то включения вообще не будет если урл, например, без расширения.
2) веб-сервер запускает index.php и логично, что его и получает от друпала, а значит не будет делать никаких ssi включений, так как файл имеет расширение php
3) если в ssi расширения добавить кроме html, shtml добавить еще и php, то все ломается вообще, браузер не отображает mysite.ru/page.html, а предлагает сохранить файл
кто понимает, как это все происходит, плз, подскажите, убежден, тут простое решение, просто я не готов его найти.
Спасибо!
Попробуй создать в корне папку, например ssi. В неё складывай свои файлы,которые надо заинклудить.
В корне в .htaccess допиши
RewriteRule (.*) $1 [L]
А они должны в eval() работать?
сделал, не работает, но я не удивлен, как уже было замечено ранее не работает также < !--#echo var="HTTP_HOST"-- >
в примитивном index.html все работает правильно...
Не совсем понимаю, о каком eval() идет речь...
сейчас мне нужно добиться чтобы ssi заработал (сложную для меня задачу разбил на отдельные части), потом будут cgi скрипты еще подключать, но пока не представляю с чем еще буду сталкиваться... здесь все мне неизвестно...
От этого и беда, что лепите не зная, что лепите
ssi включения, вообще должны работать с друпалом, тут каких-нибудь несовместимостей/невозможностей нет?
тема эта как-то мало освещена, складывается впечатление, что я иду не тем путем, но мне представляется ssi полезным инструментом
Да, вы идёте не тем путём. SSI будут работать только в html/shtml документах, а у вас запрашивается php. Да и не нужны вам SSI. Если хотите что-то вставить - используйте функции PHP и не смешивайте сапоги с пирогами (с)
В связи с этим я и задаю вопросы, чтобы узнать... если бы я все знал, я бы не спрашивал а все уже сделал.
Если способны и считаете возможным помочь, помогите, буду сильно признателен, а если воспитывать меня желаете, то, пожалуйста, не надо.
Спасибо!
вот, спасибо, по делу...
может вы меня просветите, тогда в конкретной проблеме...
на сайте включен кэш, а нужно несколько вставок разных для каждого пользователя, как этого добиться?
если отключить кэш, то я смогу сделать все что угодно, но вот кэш отключать не хочется, ни целиком, ни для блоков. и так все медленно...
Спасибо!
советую посмотреть в сторону Ajax'а... ну и задать гуглу вопрос типа такого: drupal dynamic content on cached page
ajax я уже рассмотрел и не нахожу его таким уж хорошим, как неоднократно советовалось. смотрите сами
1 браузер запрашивает страницу
2 сервер отдает страницу
3 браузер принимает страницу и делает повторные запросЫ (их не один)
4 сервер отдает какие-то данные
5 страница собралась в браузере
Обращаю внимание, что шаги начиная с 3-го это, по моему мнению, корявая реализация ajax-ом.
Меня так не устраивает.
какого рода вставки вы пытаетесь сделать?
js главным образом, но они различные в зависимости от разных условий,
если просто, то в одном блоке (но не только в блоке) для разных пользователей будет разная информация.
Ну а вообще вопрос все же в том, можно ли заставить работать ssi в друпале, идея мне симпатична, мне кажется ssi будет полезен в любом случае... ajax - это хорошо, но все же, мне кажется, ajax предполагает участие пользователя, а где нет явных запросов от пользователя там не нужен и ajax. поправьте если я не правильно понимаю ситуацию и ajax эффективней. Спасибо!
какой то неправильный у вас аякс
поясните, плз, какой он на самом деле, а то может действительно я ошибаюсь...
ajax послает данные скрипту ,он их обрабатывает и возвращает данные(либо html либо json объект)
функция success аякса принимает эти данные и делает все что вам угодно(к примеру получает необходимое значение блока и заменяет средствами jquery существующее значение блока )
я правда не силен в ajax и js и иже с ними, но jquery (js) выполняется не веб-сервером, а браузером, следовательно все выполняется на стороне клиента, а значит те 5 шагов которые я описал выше справедливы, да ajax отрабатывает на сервере, но это не меняет суть...
или я все еще ошибаюсь?
Дело в том, что кэш+ajax догрузка как правило быстрее чем заново сгенерённая страница. Кроме того, зачем делать несколько запросов, когда можно собрать всё в один? Хотя для этого, конечно, понадобится знание js, jQuery и Drupal JS API
Думаю, я понимаю как это происходит (я не владею инструментом, но в общих чертах представляю как это работает)...
Дело в том, когда речь идет о ajax сайтах (просмотр сайта без полной перезагрузки), такой подход вполне оправдан, но пользоваться ajax, потому что я не могу сделать правильно, я не хочу...
Возможно, в дальнейшем я осознаю, что ajax проще и эффективней, а ssi это глупость, но сейчас я все еще хочу разобраться с ssi. И главным образом меня интересует можно ли все же использовать ssi включения в друпале. Пожалуйста, помогите с ssi в друпале, ajax обсудим в другой теме.
Спасибо всем участникам!
Спрошу чисто ради интереса, а зачем вообще SSI? Наследие предыдущего сайта, которое пока невозможно выпилить и заменить друпалом?
А так по пути гляньте код модуля вот этого: https://drupal.org/project/ssi
Может там найдете способ инклюда работающий...
Вопрос не решился, к сожалению...
Видимо, нужно идти на форум к администраторам серверов... В настоящий момент сделать по другому мне не нужно, мне нужно понять можно ли сделать через ssi.
Всем спасибо!
ssh однозначно включен, но не понятно какая-может быть связь с ssi...
Более понятно пишу - не сделаешь.
Более распространённо - уже объяснили, что это через задницу
Понятно - это когда аргументировано, а ваше утверждение пустое. И я не склонен доверять беспардонным людям вроде вас.
Если объяснениями вы называете советы использовать ajax, то с этим не соглашусь... В чем ssi решение "через задницу"?! если представить, что ssi заработало, то я бы решил все свои задачи очень просто, а вот ajax такой простоты не дает и по производительности однозначно уступит.
И да, RxB, я не приемлю вольного стиля общения, если хотите что-то сказать, скажите это с уважением ко мне и аргументировано, иначе ничего не говорите. Когда вы в своей профиле указываете "Помощь пользователям на форумах" вы имеет ввиду такую помощь:
Полезно! Профессионально! Доступно!его еще надо заработать
по умолчанию - уважительное отношение, но!
его ты растерял сам, опубликовав свои посты.
ибо писать умными словами чушь, обижаясь на то что тебе говорят - да это чушь- позор!
по теме:
с твоим подходом - drupal не нужен в принципе.
приводить аргументы - недосуг - ибо здесь не ясли.
не понимаешь самостоятельно, подтяни матчасть - звучит банально, но это единственное что будет полезно.
p.s.
зачем нам на техническом форуме этот бред?
популярным стало нагнать с три короба,
а потом ныть что в куче мусора не найти полезного...
посему, или выровняйся, или буду запрашивать о перемещении в курилку/мусор.
Цитата с форума сапы:
Мой сайт использует SSI и файлы *.shtml. Как мне разместить код?
В этом случае, код вызова SAPE необходимо записать в файл sape1.php (его можно создать через блокнот) и закачать этот файл в корень сайта.
Далее, на каждой странице сайта необходимо прописать строку:
<!--#include virtual="/sape1.php" -->
Попробуйте, может поможет.
UPD: Еще здесь вполне успешно включают SSI в свой код разработчики форума SMF: http://docs.simplemachines.org/index.php?topic=400.0
Я думаю, вы просто плохо знаете друпал. Друпальские сайты нечасто используют ssi. По крайней мере на этом форуме никто так не задавался этим вопросом.
Видимо, или горшочек, или дудочка... В общем, как утверждают источники, которые я обнаружил, ssi и php - два разных и несовместимых обработчика... Нужно обдумать. Всем спасибо!
обязательно присмотрись к HHVM и kphp
Всего 3 дня ушло на убеждение
esi попробуй интегрировать тогда.
varnish с esi по мне так проще настраиваются, за конфигом в личку если надо