1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

[Moved] Поддоменны для содержимого

Тема в разделе "Joomla", создана пользователем Krizess, 24 мар 2008.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
Модераторы: arman29, DMS, Genk0
  1. Krizess

    Krizess Читатель

    Заблокирован
    Регистр.:
    2 ноя 2007
    Сообщения:
    254
    Симпатии:
    56
    В настройках апатча, у меня на сервере это /etc/httpd/conf/httpd.conf

    находим:

    <VirtualHost **.**.***.***:80>
    ServerName ваш_domen.com
    под ним пишем
    ServerAlias *.ваш_domen.com
    и
    <VirtualHost **.**.***.***:443>
    ServerName ваш_domen.com
    под ним пишем
    ServerAlias *.ваш_domen.com

    сохраняем и Перезагрузка апатч.

    далее в index.php вашего сайта (Joomla)
    пишем:

    //Проверка субдомена
    include_once("sub.inc.php");

    //echo $_SERVER["HTTP_HOST"];
    //echo $_SERVER["REQUEST_URI"];

    $host = str_replace("ваш_domen.com","",$_SERVER["HTTP_HOST"]);
    $host = str_replace(".","",$host);
    if($host != "") {
    for($i=0; $i<=count($domain[sub]); $i++) {
    if($domain[sub][$i] == $host) {
    if(strlen($_SERVER["REQUEST_URI"]) < 2) {
    $link = "http://ваш_domen.com/ru/".$domain[link][$i];
    } else {
    $link = "http://ваш_domen.com".$_SERVER["REQUEST_URI"]."/".$domain[link][$i];
    }
    $content = file_get_contents($link);
    echo $content;
    exit();
    }

    }

    }

    после заливаем в корень вашего сайта файлик sub.inc.php
    http://rs133gc.rapidshare.com/files/101967551/joomla_subdomen.ZIP

    в котором пишем

    <?

    $domain[sub][] = 'имя поддомена';
    $domain[link][] = 'ссылка на сстроницу к оторой нужно присвоить поодомен';

    $domain[sub][] = 'имя поддомена2';
    $domain[link][] = 'ссылка на сстроницу к оторой нужно присвоить поодомен';

    ?>

    всё теперь при запросе, имя поддомена.ваш_domen.com выведеться указаная вами ссылка, а в строке адресса остниться ссылка поддоменна.

    Решение этой проблемы мне обошлось в 35 WMZ, буду очень благодарен если вы мне поможете их немножечко отбить ;)
    Z693356985390
    R988546799329
    U586456077889

    Добавлено через 4 минуты
    Скрипт работает с joomfish, и seo
    т.е. при включином joomfish если вводить
    sub.domen.com/en поподаем на англискую строничку содержимого )

    Добавлено через 22 минуты
    После всего этого стал боком вопрос, а как сделать переадрисацию если я дапустим буду вводить дрес:

    В общем если в блаузер вводить www.имя.ком/какталог/кружка.html
    чтоб он редиректил это
    www.кружка.имя.ком

    по словам человека который мне делал предыдущий вариант, это нужно чегото изменить в самом движке:
    возьметься он за это за 50 у.е.
    Некто не хочем мне помоч с денюжкой на решение проблемы?
     
    Composter нравится это.
  2. Lawyer707

    Lawyer707

    Регистр.:
    23 сен 2006
    Сообщения:
    182
    Симпатии:
    93
    Прикольно! Готов скинуться на полную поддоменность :) Кто еще? Давайте писать тут. Сколько народа соберем, на стольких и разделим.
     
  3. Krizess

    Krizess Читатель

    Заблокирован
    Регистр.:
    2 ноя 2007
    Сообщения:
    254
    Симпатии:
    56
    В общем я работу заказал, человек с завтрешнего дня начинает делать, надеюсь через пару дней будет готово)
    Также надеюсь ктото мне поможет финансово ;)
     
  4. Lawyer707

    Lawyer707

    Регистр.:
    23 сен 2006
    Сообщения:
    182
    Симпатии:
    93
    Если будет работать, червонец баков обещаю закинуть :)
     
  5. Krizess

    Krizess Читатель

    Заблокирован
    Регистр.:
    2 ноя 2007
    Сообщения:
    254
    Симпатии:
    56
    работает уже, пример можешь глянуть у меня:
    http://kurort-berdyansk.com/ и http://violis.kurort-berdyansk.com/ теперь просто нужно сделать чтобы при вводе http://kurort-berdyansk.com/ru/otdyih-v-berdyanske/detail.html в адресе отображалось http://violis.kurort-berdyansk.com/вобщем вот какая сейчас задача )
     
  6. OnTheFly

    OnTheFly Постоялец

    Регистр.:
    12 июн 2006
    Сообщения:
    71
    Симпатии:
    13
  7. Iron_Rat

    Iron_Rat

    Регистр.:
    25 мар 2007
    Сообщения:
    407
    Симпатии:
    185
    В бабруйск такие решения... :)
    На джумлафоруме userxp, если не ошибаюсь, довольно внятно и подробно обяснял пути, плюсы и минусы подобной задачки..
    И, если речь идет только лишь о "косметике" - есть повод задуматься о других подходах..
     
  8. vlasna

    vlasna Постоялец

    Регистр.:
    9 июл 2007
    Сообщения:
    99
    Симпатии:
    21
    to Iron_Rat:
    может кинешь ссылкой, где эти пути объяснялись?
     
  9. OnTheFly

    OnTheFly Постоялец

    Регистр.:
    12 июн 2006
    Сообщения:
    71
    Симпатии:
    13
    +1 :)

    Решение действительно спорное
     
  10. Krizess

    Krizess Читатель

    Заблокирован
    Регистр.:
    2 ноя 2007
    Сообщения:
    254
    Симпатии:
    56
    В бобруйск вас с такими постами!
    Если есть, другие решения выкладуйте, либо пишите по делу.
    Мне эти решения обходяться в копеечку, и я пытаюсь поделиться с людьми, дабы возможно усовершенствовать их, либо есть мысль вобще компонент с этого сверстать!
    --------------------

    И так полная поддоменность:
    Я использую сборку seo-joomla-1.0.13RE.zip
    Либо нам нужно установленный ARTIO JoomSEF и JoomFish

    Расматриваю на своём примере:

    Этапы:
    1. В конфигурации жумлы включаем SEO

    2. Включаем ARTIO JoomSEF

    3. В JoomFish включаем хотябы один язык ru

    4. В конфиге апатча пишем

    PHP:
    ServerAlias *.kurort-berdyansk.com 
    5. В index.php вашего сайта (Joomla) пишем:

    PHP:
    //Проверка субдомена
    include_once("sub.inc.php");

    // Это мы проверяем есть ли url в списке и рефрешим его на поддомен
    if($_GET['redirect'] != "no") {

    $host = str_replace("/ru/","",$_SERVER["REQUEST_URI"]);
    $host = str_replace("/uk/","",$host);
    $host = str_replace("/en/","",$host);

    $findme = "ru";
    $pos = strpos($_SERVER["REQUEST_URI"], $findme);

    if ($pos === false) {
        echo "";
    } else {
         $lang = "ru";
    }

    $findme = "en";
    $pos = strpos($_SERVER["REQUEST_URI"], $findme);

    if ($pos === false) {
        echo "";
    } else {
         $lang = "en";
    }

    $findme = "uk";
    $pos = strpos($_SERVER["REQUEST_URI"], $findme);

    if ($pos === false) {
        echo "";
    } else {
         $lang = "uk";
    }

    if($host != "") {
    $host = str_replace("/index.php","index.php",$host);
    for($i=0; $i<=count($domain[link]); $i++) {
    if($domain[link][$i] == $host) {
    $link = "http://".$domain[sub][$i].".kurort-berdyansk.com/".$lang;
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <script language="JavaScript1.1" type="text/javascript">
    <!--
    location.replace("<?=$link;?>"); // текущая страница будет заменена в history на новую - важно в плане юзабилити
    //-->
    </script>
    <noscript>
    <meta http-equiv="Refresh" content="0; URL=<?=$link;?>"> <!-- для тех нескольких процентов <сёрферов>, которые отключили JavaScript -->
    </noscript>
    </head>
    <body>
    Мы перебрались на <a href="<?=$link;?>">новое местечко</a>.
    </body>
    </html>
    <?
    }

    }

    }

    }

    // Здесь мы проверяем есть ли поддомен и берем контент с линка

    $host = str_replace("kurort-berdyansk.com","",$_SERVER["HTTP_HOST"]);
    $host = str_replace(".","",$host);
    $host = str_replace("www","",$host);
    if($host != "") {
    for($i=0; $i<=count($domain[sub]); $i++) {
    if($domain[sub][$i] == $host) {
    if(strlen($_SERVER["REQUEST_URI"]) < 2) {
    $link = "http://kurort-berdyansk.com/ru/".$domain[link][$i];
    } else {
    $link = "http://kurort-berdyansk.com".$_SERVER["REQUEST_URI"]."/".$domain[link][$i];
    }
    $link = $link."&redirect=no";
    $content = file_get_contents($link);
    echo $content;
    exit();
    }

    }

    }
    6. Далее создаём файлик с насзванием sub.inc.php

    7. в нем пишем :

    PHP:
    <?
    $domain[sub][] = 'violis';
    $domain[link][] = 'otdyih-v-berdyanske/detail.html'; (тут пишем ссылку без "ru")
    ?> 
    8. заливайем файлик sub.inc.php в корень сайта.

    далее просто добавляем в sub.inc.php записи с поддоменами которые нужны.


    Чуть позже выложу решение для сборки без использования ARTIO JoomSEF и JoomFish
     
    mumins нравится это.
Статус темы:
Закрыта.