J2J.RU - cовременная система продвижения сайтов

Здесь Вы сможете узнать, как открыть и заработать на своем блоге или сайте и кучу полезного об Интернет бизнесе.


Динамический дорген - это просто

автор: Ortus | 2nd Февраль 2008 | рубрика: Soft & script

Ты всё ещё генеришь доры какими-то программами и переписываешь их в нужное место даже если они будут на твоих собственных доменах? И сколько ты тратишь на это времени?

А тратишь ты его зря.
Всего два файла - и всё, что тебе нужно будет делать - это подключить функцию собственно генерации страницы (об этом в книге будет написано в ближайшее время) и , возможно, выбрать ключевики, на которые будут генериться странички.

магия mod_rewrite

Чего только нельзя сделать с помощью этого черезвычайно полезного модуля.Его задачей в нашем случае будет перенаправление запроса на соответствующую страничку, а если её не существует - на скрипт, который создаст нам эту страницу.

RewriteEngine On
 
##1
RewriteCond %{HTTP_HOST} !^$
#2
RewriteCond %{REQUEST_URI} ^/?([^/]+)$
#3
RewriteCond %{REQUEST_URI} !makepage.php
#4
RewriteRule ^(.*)?$ %{HTTP_HOST}/$1 [QSA,PT,L]
 
#5
RewriteCond %{REQUEST_URI} /$
RewriteRule ^(.*) %1/index.html [PT]
 
RewriteCond %{REQUEST_URI} /.+
#6
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
#7
RewriteRule ^(.*) %{DOCUMENT_ROOT}/makepage.php [L]

Теперь объясняю что здесь происходит:1. Этот блок направляет урл вида http://domain.org/page.html на файл “domain.org/page.html”. Т.е. файл будет браться из вложенной папки с именем, совпадающим с названием домена.2. Эта строчка запрещает преобразовывать урлы, в которых есть папка. Т.е. урл вида http://domain.org/folder/page.html преобразовываться не будет. Это нужно для того, чтобы избежать зацикливания преобразований, а также чтобы была возможность ложить в папки общие для всех доменов файлы (картинки, стили и т.п.).3. Строка запрещает преобразование урла, если этот урл - наш генератор страниц. Это опять же нужно для того, чтобы избежать зацикливания.4. Собственно правило преобразования.5. Преобразовываем пустой урл (http://domain.org/) в урл (http://domain.org/index.html). Это нужно для того, чтобы при отключенном отображении листинга директории (а я всегда отключаю его) и отсутствующем index.html сервер не выдавал “403 Forbidden”, а нормально перенаправлял на генератор страницы.6. Правило выполняется, если отсутствует запрашиваемый файл.7. В этом случае перенаправляем запрос на скрипт-генератор (он у нас лежит в makepage.php).Готово. Теперь переходим к генератору страниц.

генератор страниц

Задача генератора страниц - определить, какую страница и по какому кейворду нам нужна, сгенерировать её и записать на диск, чтобы в следующий раз при обращении к ней не тратить лишние ресурсы. Лежать он у нас будет в файле makepage.php. И вот его содержимое:

 
//Файл будем писать в директорию с названием, совпадающим с названием домена
$directory = $_SERVER[’HTTP_HOST’];
 
//Определяем кейворд из адреса. Если генерим индексную страницу - выбираем кейворд каким-либо другим способом на твоё усмотрение
if( preg_match(’#/?([^/]+)\.html$#’,$_SERVER[’REQUEST_URI’],$parts) )
{
         $name = $parts[1];
         $filename = (!empty($directory) ? $directory.’/’ : ”).$name.’.html’;
         $keyword = str_replace(”-”,” “,$name);
} else if( $_SERVER[’REQUEST_URI’] == ‘/’ || empty($_SERVER[’REQUEST_URI’] ) )
{
         $filename = (!empty($directory) ? $directory.’/’ : ”).’index.html’;
         $keyword = “SOME MAIN KEYWORD FOR THIS DOMAIN”;
}
 
//Здесь при желании проверяем, можно ли генерить страницу на этот кейворд на данном домене (для избежания злонамеренного забивания ресурсов и диска недоброжелателями
 
//Генерим текст страницы (прикрутишь своё)
$text = “Страница про “.$keyword.”<br/>”;
 
//Создаём директорию если она не существует
if( !empty($directory) && !file_exists($directory) )
         mkdir($directory);
         
//Сохраняем файл
file_put_contents($filename,$text);
 
//Выдаём юзеру свежесгенерённый файл
include($filename);
 

Дальше ты можешь сам улучшать по желанию этот скрипт. Благо, простор для этого практически безграничен. Основа у тебя уже есть.А пока ты можешь просто залить эти 2 файла в корень своего сайта, набрать в браузере нечто вида http://mydomain.org/test-keyword.html и увидеть сгенерированную страничку. 

Оставить комментарий или два

  1. Отправить как
 

cforms contact form by delicious:days

Спонсоры

J2J.RU - cовременная система продвижения сайтов
Приглашаем сайты с посещаемостью от 2-х человек в сутки!

BlogUpp