>>>>> On Thu, 20 May 1999 12:35:24 +0300 (EEST), Yuri Kuzmenko <yuri@xxxxxxxxxxxxxxx> said:
YK> Добрый день!
YK> Впервые столкнулся с mod_include. Раньше как-то не нужно было. ;-)
YK> Сразу появился вопрос. Если я включаю другую HTML, вместе с ней лезут все
YK> хедеры. Насколько это корректно с точки зрения броузеров? Заметил, кстати,
YK> что если в результирующей HTML встречаются несколько <HEAD>'ов, то все они
YK> обрабатываются, по крайней мере <LINK ...> точно подключает CSS.
YK> Но ведь в любом случае это неправильно - когда несколько <HTML>, <BODY>,
YK> <HEAD> в результирующей HTML... Что делать? Только все включаемые HTML'и
YK> править руками?
YK> Ладно, это просто. А вот что делать с mod_perl...
YK> Вот что генерится по <... include virtual="/cgi/..." ...>:
YK> <!-- кусок html, в которой стоит
YK> <!--# include virtual="/cgi/news/show/list.pl?mode=actual&base=liga"
-->
-->
YK> <html><head></head><body>
YK> <!-- а это сам include -->
YK> HTTP/1.0 200 OK
YK> Content-type: text/html; charset=windows-1251
YK> <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
YK> <HTML>
YK> <HEAD>
YK> <TITLE>News and Announces</TITLE>
YK> <LINK REL="stylesheet" TYPE="text/css"
YK> HREF="http://www.liga.kiev.ua/css/news
YK> ...
YK> Ну и так далее. В list.pl стоит print header; почти в самом начале.
YK> Вопрос. Что с этим делать??? Как поступать с include virtual в случае cgi?
YK> exec cgi не подходит по причине политики в security (мало ли кто захочет
YK> запустить exec cmd, например...)
YK> Что делать? ;-\
Очевидный ответ: удалить print header. Заодно с print start_html и print
end_html. mod_include включает то, что попросили, в текущий документ, а
не выдает редирект. Посему включенное содержимое должно быть частью
документа, а не самостоятельным документом. Если надо, чтобы оно
работало и так, и так, поправь скрипт на разбор еще одного параметра, и
передавай его в include virtual, чего проще?
--
Artem Chuprina E-mail: ran@xxxxxxxxx
Network Administrator FIDO: 2:5020/371.32
PIRIT Corp. Phone: +7(095) 115-7101
=============================================================================
= Apache-Talk@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.