Страница 1 из 1
Виртуальные динамические страницы
Добавлено: 2009-10-27 16:52:40
kozak
На многих сайтах часто замечал структуру страниц такого вида:
- http://www.example.com/google_history.html
http://www.example.com/microsoft_events.html
...
http://www.example.com/lissyara_forum_rulles.html
Мне кажется что эти страницы "виртуальные", т.е. физически отсутствуют на сервере и создаются динамически.
Как можно реализовать подобное?
Re: Виртуальные динамические страницы
Добавлено: 2009-10-27 18:47:49
hizel
в fastcgi из коробки
в mod_php+apache - через mod_rewrite
Re: Виртуальные динамические страницы
Добавлено: 2009-10-27 19:31:46
kozak
Есть пример, как описывается такое преобразование в mod_rewrite ?
Re: Виртуальные динамические страницы
Добавлено: 2009-10-27 20:41:14
kozak
Re: Виртуальные динамические страницы
Добавлено: 2009-10-28 6:54:58
ProFTP
ну он как раз mod_rewrite
/parametr1/parametr2/1
и сюда добавить .html как нибудь
в mod_perl все идет через такой вид /parametr1/parametr2/1 например
Re: Виртуальные динамические страницы
Добавлено: 2009-11-02 1:27:59
agat
Код: Выделить всё
### РАБОТА НАВИГАЦИИ, РАЗБОР ПО ТЕМАМ И ПОСТАМ
if(isset($_SERVER['PATH_INFO'])){ //если PATH_INFO не соответствует рег выражению отлуп на 404
if (!preg_match('/^(\/[0-9]{1,2}\/[0-9]{1,3}\.html)|(\/[0-9]{1,2}\.html)$/',$_SERVER['PATH_INFO'])){
header("location: /error/error404.php");
exit();}
else{
$_SERVER['PATH_INFO'] =str_replace(".html","",$_SERVER['PATH_INFO']);//удалить .html из запроса
//Разбор запроса на составляющие
$url = explode("/", $_SERVER['PATH_INFO']);//разбор полетов разбивка на массив по знаку '/'
$url = array_filter($url, "strlen"); // фильтр пустых значений
//В значениях массива должны быть только цифры
foreach ($url as $testurl) {
if (!ctype_digit($testurl)) {
header("location: /error/error404.php");
exit();
}
}
//На выходе массив
//$url[1] выборка по темам
//$url[2] выборка единичного поста
}
}
ССЫЛКИ
/index/1/2.html
/index/1/31.html
/index/3.html
т.е. вся работа идет через index.php но т.к. smarti умеет проглатывать расширение файла то все бегает. единственное неудобство это папка index но ведь стартовый файл можно обозвать как угодно напримет cat.php.
ну и потом не обязательно ж выбирать только цыфры, мне так было удобнее потому что дальше идет логика работы с базой, (тема, пост)
пример рабочий с моего сайта, можете зайти и попробовать как это работает кому интересно

Re: Виртуальные динамические страницы
Добавлено: 2009-11-02 20:07:20
kozak
Спасибо, очень наглядно!