Нужен PHP скрипт который сконвертит динамическую страницу в статическую

12 3
FFFFx029A
На сайте с 01.09.2007
Offline
142
1524

Нужен PHP скрипт который сконвертит динамическую страницу в статическую...

Пример:

http://site.com/path/news.php?id=2344&cat=123

Результат: http://site.com/path/id_2344_cat_123.html

Ну и внутри страницы чтобы ссылки относящиеся к данному домену конвертились по такомуже принципу. Вообщем не mod_rewrite)

:confused:

http://www.youtube.com/watch?v=Gyl4E4EcPdc (http://www.youtube.com/watch?v=Gyl4E4EcPdc) - партнёрка от Мавроди и МММ))) http://miniwm.ru/soft.php?read=917 (http://miniwm.ru/soft.php?read=917) CMS MiniWM v2.8 - 49.99$
Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#1

Вы хотите чтобы ссылки вида

http://site.com/path/id_2344_cat_123.html

обрабатывал скрипт

news.php (http://site.com/path/news.php?id=2344&cat=123)

Так это, батенька, и есть mod_rewrite.

zwer
На сайте с 07.06.2007
Offline
48
#2

Помниться когда то мы переводили NewsGrabber с динамики в статику. Т/к при 10К уников он просто не хотел работать быстро. В итоге каждые 5 мин ходил скриптик и генерил статику. Потом PHP просто инклюдил все это. Если надо то подниму архив.

RD9.RU - Домены RU с поддержкой 90 рублей (http://rd9.ru/)
Fr3d
На сайте с 29.05.2008
Offline
86
#3

.htaccess ;)

Webmoney кредиты - это WMCoin.ru (http://wmcoin.ru)
FFFFx029A
На сайте с 01.09.2007
Offline
142
#4

Я наверное забыл огласить саму идею, нужно чтобы НЕБЫЛО запросов к базе (ну развечто поиск по сайту можно оставить динамическим)...

Идея реализации:

есть страницы:

http://site.com/path/news.php?id=3&cat=5&mode=9

или

http://site.com/article.php?ids=3&dat=5&size=9

Скриптик их деформирует и сохраняет на сервер в файлы:

http://site.com/path/news/id_3-cat_5-mode_9.html

или

http://site.com/article/ids_3-dat_5-size_9.html

ну и ВНУТРИ этих страниц все меняетцо по такомуже принципу..

(скрипт желательно чтоб подходил к любому динамическому сайту)

FFFFx029A добавил 14.10.2008 в 19:24

zwer, если есь возможность, глянь плиззз архивчик!!!

LX
На сайте с 11.06.2007
Offline
28
#5

Самый простой вариант - пройтись по сайту какой-нибудь сайтокачалкой (напр. Offline Explorer), затем получившееся чудо залить на сервер.

А с точки зрения кода:

Попробуйте прикрутить к движку ЧПУ, затем в шапку добавьте код:

if (file_exists($_SERVER['REQUEST_URI']))

include($_SERVER['REQUEST_URI']);
else ob_start();

И в футер


$data = ob_get_contents();
ob_end_clean();
$f = fopen($_SERVER['REQUEST_URI'],"w");
fwrite($data,$_SERVER['REQUEST_URI']);
fclose $f;
echo $data;
Ѣ-программисты пишут на Petrovich (http://2lx.ru/2009/05/yazyk-programmirovaniya-petrovich/) и Ook! (http://2lx.ru/2009/06/yazyk-programmirovaniya-ook/) Нечего кушать? Подои Зорьку (http://zorkabiz.ru/?zorka=1071)! Мууу...
FFFFx029A
На сайте с 01.09.2007
Offline
142
#6
Le)(x:
Самый простой вариант - пройтись по сайту какой-нибудь сайтокачалкой (напр. Offline Explorer), затем получившееся чудо залить на сервер.

А с точки зрения кода:
Попробуйте прикрутить к движку ЧПУ, затем в шапку добавьте код:
if (file_exists($_SERVER['REQUEST_URI']))

include($_SERVER['REQUEST_URI']);
else ob_start();

И в футер

$data = ob_get_contents();
ob_end_clean();
$f = fopen($_SERVER['REQUEST_URI'],"w");
fwrite($data,$_SERVER['REQUEST_URI']);
fclose $f;
echo $data;

Мне после такого - ламеры шеллы позаливают)))

Dreammaker
На сайте с 20.04.2006
Offline
569
#7

$document_root = realpath('.') . '/';

$file = md5( $_SERVER['REQUEST_URI'] );

write_file($document_root . 'cache/' . $file, $content) ;

добычу адреса вот так вот можно сделать, чтобы ничего не залили :)

p.s. write_file - это хелпер из CodeIgniter, который я прикрутил к другому проекту.

FFFFx029A
На сайте с 01.09.2007
Offline
142
#8

Да, и еще вопрос к опытным пользователям:

1. Это снимит нагрузку на сервер? (посещаемость 10000), выделенный сервак бывает часто в ауте(((

Dreammaker
На сайте с 20.04.2006
Offline
569
#9

FFFFx029A, должно, ибо часто нагрузку дают сортировки в mysql и тому подобное, но при этом возрастает и нагрузка на файловую систему.

Вообще нужно анализировать в чём именно затык и оптимизировать его. Возможно вместо кеша можно просто добавить индексы в нужных местах, предварительно посмотреть результаты Explain запросов. Если же база криво спроектирована, то тут уже нужно действительно смотреть в сторону кеша.

FFFFx029A
На сайте с 01.09.2007
Offline
142
#10

Там часто выдает не sql_err, а Server Error, т.к каждый посетитель всреднем просматривает 10-11 страниц (10к в сутки хостов) но темнемение нагрузка на базу уменьшецо, это гуд..

Вот конфиг который дал хостер:

100 000 MB диску

Необм. доменів ***

Необм. трафік*

2 IP адреси

1024 MB RAM**

2048 MB RAM (максимально)

Пропорційний розподіл CPU**

CPU 2xAMD Opteron 248

Панель управління:

Plesk чи cPanel/WHM

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий