Главная
>
PHP > PHP и ЧПУ, что это и с чем его «едят»?
PHP и ЧПУ, что это и с чем его «едят»?
PHP и ЧПУ, что это и как с ними работать?
На днях нужно было быстренько состряпать простое подобие ЧПУ, для 4-6 страниц. Смысл заключался в том, что есть header (картинка с меню) и футер (картинка), а в центре должен был меняться текст. Т.к. страниц было всего от 4 до 6 то речи о CMS в принципе быть и не могло (не тот масштаб).
Было решено сделать до боле глупое решение. (на нем хорошо просматривается принцип работы ЧПУ).
Есть файл .htaccess со следующим содержимым:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?$1 [L]
Первая строка включает использование ModRewrite (Модуль перенаправления)
Вторая и третья строки это условия перенаправления
Четвертая строка это правило перенаправления которое говорит, что при любом запросе (фраза ^(.*)$) идет перенаправление на файл index.php
И есть индексный файл index.php с таким содержимым:
<html>
...выше хедер....
<?php
// Дробим УРЛ на части по слешу, и записываем в переменную param
$param = split("/",$_SERVER['REQUEST_URI']);
//тут проверяем, если в массиве есть значение 'page' проходим дальше
if ($param[1] == "page") {
//если после page идет какое то название, а не пустота, подгружаем файл вида page_название_из_чпу.php
if ($param[2] != '')
//тут чтобы не делать проверки на существование файла, просто отключили вывод ошибок (хотя это не верно!)
@include($param[1].$param[2].".php");
}
else
{
echo 'Главная страница';
}
?>
...ниже футер....
</html>
Вот и все, теперь когда идет обращение к http://наш_сайт/page/stranica/
Подгружается файл page_stranica.php
Свежие комментарии