Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

вопрос но mod_rewrite

714
03 апреля 2009 года
clgs
226 / / 29.10.2008
Здрасте)
Идея такая, есть физически один сайт example.com
есть линки
 
Код:
<VirtualHost 127.0.0.1:80>
  DocumentRoot "W:/home/www.example.com/www"  
  ServerName "www.example.ru"
  ServerAlias "www.example.ru"
</VirtualHost>
<VirtualHost 127.0.0.1:80>
  DocumentRoot "W:/home/www.example.com/www"  
  ServerName "www.example.ua"
  ServerAlias "www.example.ua"
</VirtualHost>


есть скрипт перенаправления
Код:
<?

// Подключаем mini ядро
if(file_exists("kernel/mini.php"))
    include_once("kernel/mini.php");
else
    exit;

if(!isset($_GET['way']) || !isset($_GET['type']) || !isset($_GET['query'])) die('dfg');

$pic=false;
$text=false;
$way=$_GET['way'];
$query=$_SERVER["DOCUMENT_ROOT"].$_GET['query'];
$type=$_GET['type'];

switch($type) {
    case 'css':
    case 'js':
        $text=true;
    break;
    case 'jpeg':
    case 'jpg':
    case 'png':
    case 'gif':
        $pic=true;
    break;
}

if(file_exists($_SERVER["DOCUMENT_ROOT"].'/home/'.$_cfg->hostname.'/'.$_GET['query']))
    $query=$_SERVER["DOCUMENT_ROOT"].'/home/'.$_cfg->hostname.'/'.$_GET['query'];
elseif($_cfg->LoadSiteCfg() && file_exists($_cfg->fullwaytheme.$_GET['query']))
    $query=$_cfg->fullwaytheme.$_GET['query'];
elseif($pic && !empty($way)) {
    if(!file_exists($query)) {
        $query=$_cfg->fullwaytheme.$_GET['query'];
        $way_arr=explode('/',$way);
        if(!file_exists($query) && isset($_cfg->no_exist_pic[$way_arr[0]]))
            $query=$_cfg->default_way_to_pic.'/'.$_cfg->no_exist_pic[$way_arr[0]];
    }
}
elseif($text) {
    if(!file_exists($query))
        $query=$_cfg->fullwaytheme.$_GET['query'];
}

if($pic) {
    header("Content-type: image/{$type}");
    if($f=@fopen($query,"rb")) {
        while(!feof($f)) echo fread($f,65000);
        fclose($f);
    }
}
elseif($text) {
    if(!@include($query)) {
        ?>Файл не найден!<?
    }
}
?>

 
Код:
RewriteCond %{REQUEST_URI} ^(.*)/(.*)\.(gif|png|jpe?g|ico|bmp|tif|rar|zip|gz|bz2|js|css)$
RewriteRule ^(.*)/(.*)\.(.*)$ /readdressing.php?way=$1&type=$3&query=%{REQUEST_URI} [L]

RewriteCond %{REQUEST_URI} \.(gif|png|jpe?g|ico|bmp|tif|rar|zip|gz|bz2|js|css)$
RewriteRule ^(.*)\.(.*)$ /readdressing.php?way=&type=$2&query=%{REQUEST_URI} [L]


что получаем:
грузим инфу о сайте (лезем в дб)
смотрим файл в домашнее директории, смотрим в шаблоне, если не чего не нашел и путь удовлетворяет отпределеным условиям грузим картинку по умолчанию.

мне кажется это тежеловато, как это можно облегчить?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог