Сервер не возвращает дату последнего обновления страницы

T8
На сайте с 05.02.2004
Offline
7
669

При отправке сайта на индексацию в Яндексе

получил сообщение о том что сервер не выдаёт дату последнего обновления

страницы.

Подскажите пожалуйста, что нужно

сделать, для решения проблемы.

Сервер: IIS

Страницы сценариев: ASP

На этом форуме находил примеры программного кода для

php сценариев, но для ASP, к сожалению, нет.

Собственные опыты по аналогии с php не увенчались успехом.

Подскажите какой програмный код на ASP необходим для решения проблемы

Заранее благодарен.

L
На сайте с 12.02.2004
Offline
24
lio
#1

Google "ASP headers Last-modified"

что-то вроде этого

Response.AddHeader "Last-modified", "Mon, 01 Sep 1997 01:03:33 GMT"

Но по Я/addurl не проверяйте, он по жизни так всем отвечает :) Хотя даты ставит, если они есть.

С уважением, Игорь уралвеб (http://www.uralweb.ru/)
T8
На сайте с 05.02.2004
Offline
7
#2

Критично ли написание названия дня недели

в сокращённом виде или лучше писать полностью?

L4
На сайте с 31.08.2004
Offline
57
#3

RTFM

виртуальные открытки (http://cards.br.by/), виртуальные телеграммы (http://cards.br.by/tg/)
L
На сайте с 12.02.2004
Offline
24
lio
#4
Как писал Tarzan82
Критично ли написание названия дня недели
в сокращённом виде или лучше писать полностью?

Критично, писать надо согласно RFC. Как в ASP не подскажу - не знаю просто. В perl можно использовать такую функцию


sub _gmt_string {
my ( $time ) = @_;
my @MON = qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec );
my @WDAY = qw( Sun Mon Tue Wed Thu Fri Sat );
my ( $sec, $min, $hour, $mday, $mon, $year, $wday ) = gmtime( $time );
return sprintf( "%s, %02d %s %04d %02d:%02d:%02d GMT",
$WDAY[$wday],
$mday,
$MON[$mon],
$year+1900,
$hour,
$min,
$sec );
}

Или для strftime (если в ASP поддерживается можно использовать ее) используем такую форматирующую строку

"%a, %d %b %Y %H:%M:%S GMT"

(локаль английская, время gmt)

Dwarf
На сайте с 06.10.2004
Offline
60
#5

Tarzan82, вот на VBScript:


<%
' WeekDayName и MonthName нужны английские
Session.LCID = 1033

Dim dtmLastModified, strLastModified

' для примера - прям счас
dtmLastModified = Now()

strLastModified = WeekDayName(WeekDay(dtmLastModified),TRUE) & ", " &_
fncFormat(Day(dtmLastModified)) & " " &_
MonthName(Month(dtmLastModified),TRUE) & " " &_
Year(dtmLastModified) & " " &_
fncFormat(Hour(dtmLastModified)) & ":" &_
fncFormat(Minute(dtmLastModified)) & ":" &_
fncFormat(Second(dtmLastModified)) &_
" GMT"

Response.AddHeader "Last-Modified", strLastModified

' Русская локаль, если надо.
Session.LCID = 1049
' Остальной код

Function fncFormat(intNumber)
If intNumber < 10 Then
intNumber = "0" & intNumber
End If
fncFormat = intNumber
End Function
%>

Только оно вам надо? :)

Деревянные окна (http://www.wood-win.ru/)
T8
На сайте с 05.02.2004
Offline
7
#6

Спасибо всем большое.

To Dwarf: особый респект :)

T8
На сайте с 05.02.2004
Offline
7
#7

Критично ли добавление кода:

Response.AddHeader "Last-Modified", strLastModified

в блок <head> HTML документа или

можно куда угодно?

Dwarf
На сайте с 06.10.2004
Offline
60
#8

Tarzan82, Это HTTP header, который идет вообще перед собственно контентом. Подробности тут: http://www.ietf.org/rfc/rfc2616.txt

В каком месте выводить. Идеологически правильно - до любого Response.Write (собственно контента). Блоки вне <% %>, т.е.

%>

<p>content</p>

<%

также преобразуются препроцессором ASP в Response.Write.

Далее все зависит от буферизации ASP. Если буферизация отключена, то попытка изменить HTTP хедеры после начала выдачи контента приведет к ошибке:

The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.

При включенной буферизации (Response.Buffer = True или в настройках IIS), будет обработана страница целиком, и только потом будут выданы все необходимые хедеры и за ними контент.

F
На сайте с 13.08.2004
Offline
255
#9

столкнулся с такой же проблемой, сам я не программер, хостинговая компания написала, что нужно вставить этот код в начало страницы:

Function DDig(nom)

if len(nom)=1 then

DDig="0" & nom

else

DDig=nom

end if

end function

mtData=dateAdd("d",-1,Now())

mTime = FormatDateTime(mtData, vbLongTime)

tg=InStr(mTime,"M")

if (tg > 0) then

mTime = Mid(mTime,1,tg-3)

end if

mtwD=Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat")

mtmD=Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","D

ec")

mtDay=mtwD(WeekDay(mtData,1)-1)

mtMonth=mtmD(DatePart("m",mtData)-1)

mtdExp=mtDay & ", " & DDig(DatePart("d",mtData)) & " " & mtMonth & " " &

DDig(DatePart("yyyy",mtData)) & " " & mTime & " GMT"

Response.AddHeader "Last-Modified", mtdExp

Response.AddHeader "Content-Type", "text/html; charset=windows-1251"

а я даже не знаю в какие теги это вставлять, вставлял в <% %> и <%@ %>

не помогло, ошибку пишет... подскажите плс в какие теги вставлять надо

Продажа мотоциклов (http://www.moto-sale.ru/), скутеров и мопедов

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий