Я хочу включить заголовок в кучу страниц, например:
header.html
:
<html>
<head>
<title>My site</title>
</head>
Чтобы включить заголовок для конкретной страницы, я пытаюсь использовать переменную SSI, которую я установил на каждой странице:
page1.html
:
<!--#set var="TITLE" value="first page" -->
<!--#include file="header.html" -->
Затем я изменяю header.html
использовать эту переменную:
<title>My site - <!--#echo var="TITLE" --></title>
Это работает нормально, но, конечно, имеет неприятный эффект, если TITLE
не задано, результат:
<title>My site - (none)</title>
Так что я пробую разные попытки условно echo
эту переменную в зависимости от того, none
или нет (например, <!--#if expr="TITLE != \(none\)" --> ... <!--#endif-->
)… Но вроде ничего не работает.
Похоже, это было бы довольно распространенным требованием. У кого-нибудь есть ссылка на рабочее решение?
Для Apache 2.4 выражения изменились:
<!--#if expr="-z v('CONTENT_LANGUAGE')"-->
<!--#set var="CONTENT_LANGUAGE" value="en"-->
<!--#endif-->
ОК, решил сам. Для справки других:
<!--#if expr="${TITLE}!=''" -->
- это правильный синтаксис. Имеет смысл, что вам не нужно проверять «(нет)», поскольку неопределенное текстовое значение можно настроить; Я просто не понял, что произошло после проверки значения, не раньше.
Я успешно использовал это:
<!--#if expr="! $CONTENT_LANGUAGE" -->
<!--#set var="CONTENT_LANGUAGE" value="en" -->
<!--#endif -->