1

Тема: Тестирование SSI на локальном сервере Apache

Сайт с командами SSI.
Тестируется на локальном сервере. Установил Apache+PHP+MySQL+phpMyAdmin по статье "Инструментарий веб-разработчика".

Выполняются команды на включение в страницу .shtml других документов, например:
<!--#include file="content.html"-->

Но, не выполняются команды с переменными SSI, например:
<!--#config timefmt="Дата: %d-%m-%y, время: %T"-->
<!--#flastmod file="gtm.css"-->
Выводится в браузере пустая страница.

или

<!--#set var="title" value="Что такое SSI?"-->
<title><!--#echo var="title"--></title>
Выводится Title - <!--#echo var="title"-->.

Apache не принимает команды SSI с переменными?
Как исправить?

2

Re: Тестирование SSI на локальном сервере Apache

kestler
Если работает include, то и другие директивы в файле .shtml будут работать.

3

Re: Тестирование SSI на локальном сервере Apache

Проверил, когда и как перестает выполняться команда SSI.
Выполняет команду Dreamweaver CS3, без включения сервера (>просмотр и отладка в браузере).

Через браузер (http://127.0.0.1/test/www/index.shtml), при включенном сервере отображается пустая страница.

4

Re: Тестирование SSI на локальном сервере Apache

kestler
Не понял что вы написали.
К сожалению, по Dreamweaver помочь не смогу.

5

Re: Тестирование SSI на локальном сервере Apache

Постараюсь объяснить.

В  "C:\apache\test\www" (test.ru - виртуальный хост) созданы два файла с командой SSI:
index.shtml
<html>
<head>
</head>
<body>
<!--#include file="content.html"-->
<br>
А должно быть!!!
</body>
</html>

content.html
<h1>Работает!</h1>

В браузере, по адресу http://www.test.ru/, получаю только одну строку
А должно быть!!!

т.е. команда SSI "include file" не выполняется?

Dreamweaver не причастен к этому. Выключен. Ранее он несколько путал, сам выполнял команду "include file".

6

Re: Тестирование SSI на локальном сервере Apache

kestler
Значит SSI вообще не работает.

Проверьте, чтобы каталог test.ru/www не содержал .htaccess файл с директивой отключения SSI:
Options -Includes

Блок виртуального хоста тоже не должен иметь такой отключающей директивы.

В httpd.conf, блок корневой директории должен  выглядеть так:
<Directory />
    Options Includes Indexes FollowSymLinks
    AllowOverride All
    Allow from all
</Directory>

Блок <IfModule mime_module> должен содержать данные две строки:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

7 (изменено: kestler, 2008-11-13 01:05:52)

Re: Тестирование SSI на локальном сервере Apache

Благодарю Вас за рекомендации. 

В httpd.conf снял комментарии (#) и добавил аргументы в блок:

<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
   Options Indexes FollowSymLinks
   AllowOverride None
   Order allow,deny
   Allow from all
</Directory>

Теперь блок выглядит так:
<Directory "C:/apache">
   Options Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
   AllowOverride All
   Order allow,deny
   Allow from all
   AddHandler server-parsed .shtml .shtm .html .htm
</Directory>

SSI заработал.