Ты всё ещё генеришь доры какими-то программами и переписываешь их в нужное место даже если они будут на твоих собственных доменах? И сколько ты тратишь на это времени?
А тратишь ты его зря.
магия 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]
Теперь объясняю что здесь происходит:
генератор страниц
Задача генератора страниц - определить, какую страница и по какому кейворду нам нужна, сгенерировать её и записать на диск, чтобы в следующий раз при обращении к ней не тратить лишние ресурсы. Лежать он у нас будет в файле 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);
Дальше ты можешь сам улучшать по желанию этот скрипт. Благо, простор для этого практически безграничен. Основа у тебя уже есть.





Оставить комментарий или два
cforms contact form by delicious:days