Поддержка Проблемы и решения Сайт по городам без мультисайта

  • Привет форумчане.
    Столкнулся с такой задачей, есть многостраничный сайт и нужно было из него сделать несколько клонов на разные города. Что бы сайт по сути был один, но для каждого города открывался на отдельном поддомене и контент в принципе везде одинаковый, только что бы в шапке и подвале были разные адреса и телефоны. Ну и еще в паре мест менялись данные.
    Создавать мультисайт для этих целей думаю нецелесообразно. При том что для каждого сайта в этом случае придется создавать новые страницы, записи и т.д.
    В интернете ни чего готового и подходящего не нашел, пришлось придумывать свое решение, которым и хочу поделиться. Может кому-то пригодится.

    Итак. Первым делом на хостинге создаю несколько поддоменов «sochi.domen.ru», «anapa.domen.ru», «novorosiysk.domen.ru» и т.д. Все их направляю на основной сайт (папку основного сайта).

    Дальше открываю файл шаблона сайта, где подтягивается шаблон шапки <?php get_header(); ?> и перед ним вставляю такой код:

    <?php
    $parsedUrl = parse_url($_SERVER[HTTP_HOST]); //парсим адрес из адресной строки браузера
    $host = explode('.', $parsedUrl['path']); //дробим адрес на составляющие
    $subdomains_arr = array_slice($host, 0, count($host) - 2 ); //вытаскиваем имя поддомена
    $subdomains = $subdomains_arr['0']; //записываем имя поддомена в переменную для использования
    ?>

    Дальше <?php get_header(); ?> меняю на <?php get_header($subdomains); ?>

    После чего в папке с темой создаю новый файл header-sochi.php (это для шапки например сочинского сайта) и копирую в него содержимое с файла header.php соответственно с новыми телефонами и адресом. Такие файлы создаю для каждого нужного мне города.

    В итоге, если сайт открывается по адресу sochi.domen.ru, то в шапку подтягивается инфа с файла header-sochi.php и так для каждого города. !!!Важно что бы новый файл имел вид «header-поддомен.php»

    Тоже самое с футерами.
    Создаю footer-sochi.php а <?php get_footer(); ?> меняю на <?php get_footer($subdomains); ?>

    В принципе рабочий вариант. Если у кого-то есть вариант поинтереснее и попроще — поделитесь.

  • Тема «Сайт по городам без мультисайта» закрыта для новых ответов.