Здраствуйте, нужен совет. я сделал не большой сайтик для себя, пока на локалке, ивозникла маленькая проблема, для того что бы не повторять дизайн я сделал одну страничку index.php а в неё с помошью штсдгву подключаю нужные, так вот в чём проблема, всё работает на ура но только если, к примеру, я набираю страничку page-1.php то она открывается без проблем, то есть не в теле index.php? помогите пожалуйста, мне нужно что бы страницы открывались только в теле первой страницы, то есть www.test.ru/index.php?id=page-1.php а не www.test.ru/page-1.php вот код: PHP: <? Error_Reporting(E_ALL & ~E_NOTICE); $arr = array("main.php", "page-1.php","page-2.php", "page-3.php"); if (!isset($_GET['id'])) include ("main.php"); elseif (in_array($_GET['id'],$arr)) include ($_GET['id']); ?> Буду весьма благодарен за любой совет. С Уважением.....
Если на сервере есть mod_rewrite, а он вероятнее всего есть, то сделай так: в файле .htaccess напиши: Код (Text): <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^(main|page-\d).php$ ?id=$1.php [QSA,L] </IfModule> .htaccess надо создать в директории сайта рядом с твоим index.php. upd а, забыл. Делает он следующее: смотрит если в УРЛе указан main.php или любой page-ЦФРА.php, то перенаправляет запрос на index.php?id=файл.php
скрипт работает правильно, просто если вместо www.test.ru/index.php?id=page-1.php набрать просто www.test.ru/page-1.php он выдаёт содержимое этой страницы, и мне нужно что бы пользователь так не смог сотреть страницы, дизайн теряется
а если вместо page-1.php идут к примеру list.php, text.php я должен их всех прописовать main|page-\d, list, text...?