Если статический сайт на php файлах, с подключаемыми через include файлами, типа header.php и т.п., то как сделать, чтобы какой-то контент (хтмл код, текст) выводился только на главной или на другой определённой странице?
Для тех, кто не знает php и знать пока не хочет (как я), рабочий вариант, найденный в интернете, среди кучи подобных вопросов и не рабочих или полу-рабочих ответов:
Если на главной и остальных страницах должен быть разный текст, например, разные стили блока, то после строки с if заменить на:
+ такого способа, что он будет работать не только в корневой директории сайта, но и, например, в отдельной папке на локалхосте.
- в том, что, наверное не пойдёт, если на сайте есть вложенные папки с такими же названиями файлов. В этом случае, более простой вариант:
Если нужно, чтобы разное содержимое (html код) было на разных страницах сайта, например разные тайтлы, то будет примерно так:
Для тех, кто не знает php и знать пока не хочет (как я), рабочий вариант, найденный в интернете, среди кучи подобных вопросов и не рабочих или полу-рабочих ответов:
<?php
//разбиение строки после имя сайта по слэшам
$earray = explode("/", $_SERVER['REQUEST_URI']);
$filename = $earray[count($earray)-1]; // Это имя файла
//Если эта страница index.php или / :
if ($filename == 'index.php' || $filename == '')
{?>
Текст или код виден только на главной странице
<? }?>
//разбиение строки после имя сайта по слэшам
$earray = explode("/", $_SERVER['REQUEST_URI']);
$filename = $earray[count($earray)-1]; // Это имя файла
//Если эта страница index.php или / :
if ($filename == 'index.php' || $filename == '')
{?>
Текст или код виден только на главной странице
<? }?>
Если на главной и остальных страницах должен быть разный текст, например, разные стили блока, то после строки с if заменить на:
{?>
Код для главной страницы
<?} else {?>
Код для всех остальных страниц
<?}?>
Код для главной страницы
<?} else {?>
Код для всех остальных страниц
<?}?>
+ такого способа, что он будет работать не только в корневой директории сайта, но и, например, в отдельной папке на локалхосте.
- в том, что, наверное не пойдёт, если на сайте есть вложенные папки с такими же названиями файлов. В этом случае, более простой вариант:
<?
if ($_SERVER['REQUEST_URI'] == '/' || $_SERVER['REQUEST_URI'] == '/index.php' )
{?>
Текст виден только на главной странице
<?}?>
if ($_SERVER['REQUEST_URI'] == '/' || $_SERVER['REQUEST_URI'] == '/index.php' )
{?>
Текст виден только на главной странице
<?}?>
Если нужно, чтобы разное содержимое (html код) было на разных страницах сайта, например разные тайтлы, то будет примерно так:
<?php
$earray = explode("/", $_SERVER['REQUEST_URI']);
$filename = $earray[count($earray)-1];
if ($filename == 'page1.php')
{?>
<title>Первая страница</title>
<? }
elseif ($filename == 'page2.php')
{?>
<title>Вторая страница</title>
<? }
elseif ($filename == 'page3.php')
{?>
<title>Третья страница</title>
<? }?>
...
$earray = explode("/", $_SERVER['REQUEST_URI']);
$filename = $earray[count($earray)-1];
if ($filename == 'page1.php')
{?>
<title>Первая страница</title>
<? }
elseif ($filename == 'page2.php')
{?>
<title>Вторая страница</title>
<? }
elseif ($filename == 'page3.php')
{?>
<title>Третья страница</title>
<? }?>
...
Комментариев нет:
Отправить комментарий