• Есть у меня домен скажем, joke.msk.ru - делаен его основным. Остальные адреса будут с ним сравниваться.

    Вот PHP код:
    Код
    <?php
    if ($_SERVER['HTTP_HOST']!='joke.rnd.ru')
    {  print("Анедоты из Ростова-на-Дону"); }

    elseif ($_SERVER['HTTP_HOST']!='joke.perm.ru')
    {  print("Анедоты из Перми"); }

    elseif ($_SERVER['HTTP_HOST']!='joke.nov.ru')
    {  print("Анедоты из Новгорода"); }

    else
    {   echo ('<span style="color: green">Анедоты из Москвы</span>');  }
    ?>


    Задача.

    Все 4 сайта находятся в одной директории (папки), нужно чтобы он при сравнении адреса URL подгружал скажем из под папок этих городов - файлы (в данном случае, просто выводил текст, сравнивая URL)

    Кто знает, помогите, пожалуйста
  • Код
    <?php
    if ($_SERVER['HTTP_HOST']!='joke.rnd.ru')
    {  
    include "/joke.rnd.ru/index.php";
    }

    elseif ($_SERVER['HTTP_HOST']!='joke.perm.ru')
    {
    include "/joke.perm.ru/index.php";
    }

    elseif ($_SERVER['HTTP_HOST']!='joke.nov.ru')
    {
    include "/joke.nov.ru/index.php";
    }

    else
    {   echo ('<span style="color: green">Анедоты из Москвы</span>');  }
    ?>
  • Есть у меня домен скажем, joke.msk.ru - делаен его основным. Остальные адреса будут с ним сравниваться.

    Вот PHP код:
    Код
    <?php
    if ($_SERVER['HTTP_HOST']!='joke.rnd.ru')
    {  print("Анедоты из Ростова-на-Дону"); }

    elseif ($_SERVER['HTTP_HOST']!='joke.perm.ru')
    {  print("Анедоты из Перми"); }

    elseif ($_SERVER['HTTP_HOST']!='joke.nov.ru')
    {  print("Анедоты из Новгорода"); }

    else
    {   echo ('<span style="color: green">Анедоты из Москвы</span>');  }
    ?>


    Задача.

    Все 4 сайта находятся в одной директории (папки), нужно чтобы он при сравнении адреса URL подгружал скажем из под папок этих городов - файлы (в данном случае, просто выводил текст, сравнивая URL)

    Кто знает, помогите, пожалуйста

    я такую проблему решил так:
    создал папку "config" рядом с папкой www, где лежат скрипты, доступные по HTTP
    в нее положил config.global.php основной конфиг по умолчанию...
    Далее, когда появляется новый проект, просто внутри папки конфиг создаю директорию с именем $_SERVER['HTTP_HOST']
    туда кладу локальный конфиг, который все перезаписывает...

    теперь по порядку:
    в глобальном конфиге по умолчанию config.global.php примерно такой код:
    Код
     $config = array();
     //приложение
     $config['APP_NAME'] = 'название сайта';
     $config['APP_DESC'] = 'снипет по умолчанию';
     
     //настройка соединения с БД
     $config['CFG_DB_HOST'] = 'localhost';
     $config['CFG_DB_NAME'] = 'db_name';
     $config['CFG_DB_USER'] = 'user';
     $config['CFG_DB_PASS'] = 'pass';


    а в конфиге для конктерного проекта в твоем случае 'joke.rnd.ru' делаю так
    в папке /config/ создаю подпапку
    /config/joke.rnd.ru/
    и кладу туда пустой файл config.php
    /config/joke.rnd.ru/config.php
    и допустим что там необходимо изменить ТОЛЬКО имя БД, что и делаем
    Код
    <?
     $config['CFG_DB_NAME'] = 'db_name_jokerndru';
    ?>

    Все остальное оставляем по умолчанию...


    затем в скрипте, который ты вызываешь из браузера, пусть это будет index.php
    делаем так:
    Код
    <?
    //подключим основной конфигурационный файл
    require_once('../config/config.global.php');
    $local_config = '../config/'.$_SERVER['HTTP_HOST'].'/config.php';
    // если есть специализированный, локализованный конфиг - подключим и его
    //переопределив таким образом основные настройки проекта
    if(file_exists($local_config)){
     include_once($local_config);
    }
    //сделаем из элементов массива константы
    foreach ($config as $k=>$v){
     define($k,$v);
    }
    unset($config);
    ...
    ?>


    на выходе имеем готовые константы, которые и будем использовать в дальнейшем: CFG_DB_NAME и так далее...

    Объяснил по быстрому, если не понятна моя идея - спрашивай, но скажу, что она давно и успешно работает.

    И на локалхосте у меня всего одна папка для сайта апача /home/cms/, меняю только скины и конфиги
  • Код
    <?php
    if ($_SERVER['HTTP_HOST']!='joke.rnd.ru')
    {  
    include "/joke.rnd.ru/index.php";
    }

    elseif ($_SERVER['HTTP_HOST']!='joke.perm.ru')
    {
    include "/joke.perm.ru/index.php";
    }

    elseif ($_SERVER['HTTP_HOST']!='joke.nov.ru')
    {
    include "/joke.nov.ru/index.php";
    }

    else
    {   echo ('<span style="color: green">Анедоты из Москвы</span>');  }
    ?>

    пояснить почему это не самое хорошее решение?
    при добавлении нового проекта ему надо будет лезти в код (а это не здорово, когда скрипт-диспетчер раздувается из за настроек), а в моем примере надо будет только создать новую папку.

Привет, незнакомец!

Похоже, Вы новенький! Чтобы начать обсуждение, кликните на одну из кнопок ниже ;)

Войти с помощью OpenID

Категории

В этой теме: