Вот структура веб-сайта:
Индексный файл PHP
//my class for analyzing the PHP query
$parameter = new LoadParameters();
//what this does is it accesses the database
//and according to the query, figures out what should be
//loaded on the page
//some of the things it sets are:
// $parameter->design - PHP file which contains the design
// HTML code of the page
// $parameter->content - Different PHP file which should be loaded
// inside the design file
$parameter->mysqlGetInfo($_SERVER['QUERY_STRING']);
//load the design file
include($parameter->design);
Файл дизайна PHP
Просто общая структура.Очевидно, в нем гораздо больше элементов дизайна.
<html>
<head>
...
</head>
<body>
<?php
//this loads the content into the design page
include($parameter->content);
?>
</body>
</html>
Вопрос
Так что вот проблема, с которой я сталкиваюсь.Файл $parameter->content
- это динамический файл PHP, что означает, что содержимое также изменяется в соответствии с запросом.
Например, если у меня есть страницы с изображениями с запросами, такими как ?img=1
и ?img=2
, мой LoadParameter
Класс будет смотреть только на img
часть запроса и будет знать, что содержимое страницы должно быть image.php
.image.php
однако снова посмотрит на запрос и выяснит, какое именно изображение загрузить.
Это вызывает у меня проблемы, потому что я хочу иметь разные <title></title>
для разных изображений.Поэтому я решил просто установить элемент <title></title>
на странице содержимого.Это работает, но нарушает проверку разметки XHTML на W3C , потому что это делает структуру сайта следующей:
<html>
<head>
...
</head>
<body>
...
<title>sometitle</title>
...
</body>
</html>
И наличие <title></title>
в <body></body>
не означаетразрешено.
Итак, как я могу изменить заголовок, не нарушая проверки разметки XHTML?
Примечание : я не могу использовать JavaScript, потому что тогдаПоисковые системы не смогут увидеть заголовок страницы.Мне нужно сделать это напрямую в PHP.
Заранее спасибо.