Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » SSI и PHP в одном файле

Ответить
Настройки темы
SSI и PHP в одном файле

Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


нужно отсылать заголовок last modified при запросе index.shtml

можно ли это сделать только с помощью SSI ?

если нет то как сделать чтобы в файле shtml одновременно работал код php и инклюды ssi ?

покачто для выполнения задачи безуспешно были приняты меры:

пытался добавить в файл index.shtml запись вида: <!--#include virtual="http.php"--> а в файл http.php прописал код: <?php header("last-modified: 123"); ?>

но при запросе index.shtml заголовки не отдаются(((

что тут делать, помогите

Отправлено: 00:40, 03-08-2005

 
mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


E-mail
я, конечно, дико извиняюсь, а как насчет document.lastmodified на JavaScript? Он раньше прекрасно разруливал ситуацию. Хотя для динамических сайтов это все вообще теряет смысл =/
В чем вообще задача-то про lastmodified?

Отправлено: 17:57, 05-08-2005 | #11



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

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


Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


mar

Свойство lastModified в JavaScript происходит от даты шапки HTTP, высылаемой сервером. Серверы обычно получают эту дату, проверяя дату изменения файла или контента в ячейке бд.

Дата последнего изменения не является необходимой частью шапки/header (если банально оценивать это со стороны, что клиент запросил информацию - сервер отдал информацию), и некоторые серверы(плохие серверы) её не предоставляют. Если сервер не возвращает информацию о дате последнего изменения, JavaScript получает 0, который отображается как January 1, 1970 GMT.

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

Последний раз редактировалось E-mail, 06-08-2005 в 16:32.


Отправлено: 16:24, 06-08-2005 | #12


Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


чесно говоря меня больше интересует как last-modified и if-modified-sinse происходит в ssi :-\

-------
Основы HTML | Конференции


Отправлено: 16:30, 06-08-2005 | #13

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


ага. то есть проблема в том, что имеем "плохой" сервер, не отдающий дату и надо ему тем, или иным способом помочь. Так?
Ну, например, смотрим http://masterhost.ru/support/doc/apache/#last-modified. Читаем:
Цитата:
примеры: заголовок last-modified

В ряде случаев требуется, чтобы web-сервер выдавал HTTP-заголовок Last-Modified. К примеру, при регистрации вашего ресурса на Яндексе, возникает ошибка "Неправильные даты".

Для статических документов, согласно документации по Apache:

http://httpd.apache.org/docs/mod/mod....html#xbithack

cервер будет выдавать значение last-modified в том случае, если прописана директива "XBitHack full" (просто пропишите эту строку в .htaccess), и для файла, к которому происходит обращение, выставлен атрибут "исполняемый" для группы.

Это действительно для html-файлов. В скриптах last-modified выдается иными средствами. Например, если учесть то, что php-скрипт генерирует код динамически, то самым логичным будет в качестве last-modified отдавать текущую дату и время. Реализуется это следующим образом:

<? header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); ?>

Внимание: команда header должна выполняться в php-скрипте до того, как скрипт начнет выдавать html-текст в браузер пользователя.

Полезные ссылки по теме:

* http://www.php.net/manual/en/function.header.php
* http://www.php.net/manual/en/ref.apache.php

Отправлено: 23:06, 06-08-2005 | #14


Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


меня интересует ssi

с php и html все и так понятно(

-------
Основы HTML | Конференции


Отправлено: 01:47, 07-08-2005 | #15

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


"Using SSI to Display Last Modified Time"
или много-много всего из гугла

Отправлено: 02:04, 07-08-2005 | #16


Аватара для archy

Ветеран


Сообщения: 659
Благодарности: 3

Профиль | Отправить PM | Цитировать


возможно такое спасет отца русской демократии:
Код: Выделить весь код
$ cat test.shtml
<!--#include virtual="test.php" -->
$ cat test.php
<?php echo "test"; ?>

Отправлено: 11:47, 07-08-2005 | #17


Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


mar
по твоей ссылке вводит на экран дату изменения, а мне надо в заголовках отправлять , до вывода контента

archy
угу этот код работает, но если так:

Код: Выделить весь код
$ cat test.shtml
<!--#include virtual="test.php" -->
$ cat test.php
<?php header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); ?>
файл содержащий ssi не выдает дату изменения и if mod since,
апач ssi сознательно глушит заголовки в оригинальных версиях апача...

строка XBitHack full насильно заставляет апач их выдавать(что видно из названия),
но заголовки всеравно выдаются глючно, а именно:
1) дата изменения не выдается если был принят заголовок if-modified-since
2) заголовок if-modified-since настоящее время не отрабатывается вообще, просто проглатывается и сервер ведет себя так будто его нету

пфффф, вот такие пироги ((

-------
Основы HTML | Конференции


Отправлено: 00:42, 08-08-2005 | #18


Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


вот еслибы вместо
Код: Выделить весь код
$ cat test.shtml
<!--#include virtual="test.php" -->
$ cat test.php
<?php header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); ?>
можно бы было:

test.shtml
Код: Выделить весь код
<?php header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); ?>
<!--#include virtual="header.shtml" -->
<b>124435456</b>
<!--#include virtual="footer.shtml" -->
то возможно заголовки бы отрабатывались, но КАК заставить одновременно отрабатываться в одном файле php язык и ssi язык?

-------
Основы HTML | Конференции


Отправлено: 00:46, 08-08-2005 | #19


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


E-mail
Вот здесь вроде подобное обсуждается, почитайте, может поможет....

-------
Fortes fortuna adiuvat


Отправлено: 03:22, 08-08-2005 | #20



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » SSI и PHP в одном файле

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Форма и обработчик в одном файле VladZombie Вебмастеру 1 10-12-2009 16:37
Как сделать треков в одном файле CD PLUS BillGates_XP Видео и аудио: обработка и кодирование 2 30-09-2009 10:04
SSI vs PHP exion Вебмастеру 4 15-03-2008 00:09
Фильм с меню в одном файле. Skaarj Видео и аудио: обработка и кодирование 4 21-06-2005 13:51
SSI...PHP MikePr Вебмастеру 2 16-07-2004 13:41




 
Переход