1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Название сайта в зависимости от названия домена

Тема в разделе "Web Coding", создана пользователем pyatakk, 10 янв 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. pyatakk

    pyatakk Постоялец

    Регистр.:
    6 апр 2006
    Сообщения:
    97
    Симпатии:
    14
    Прикупил два домена и прявязал к одному сайту.

    Нужно что бы взависимости от имени домена выводилось соответствующее название сайта (SEO).

    PHP:
    <?php
    if (www.name1.ru)
    {
    <
    title>название 1</title>;
    }
    else
     {
    <
    title>название2</title>;
    }
    ?>
    как правильно сделать проверку имени домена?
     
  2. g0rn

    g0rn Постоялец

    Регистр.:
    3 июн 2007
    Сообщения:
    137
    Симпатии:
    63
    Обрабатывай переменную $_SERVER["HTTP_HOST"]
    Примерно так:
    PHP:
    <?php
    if (strpos($_SERVER["HTTP_HOST""name1.ru") !== false)
    {
        echo 
    "<title>название 1</title>";
    }
    else
    {
        echo 
    "<title>название2</title>";
    }
    ?>
     
  3. Jeurey

    Jeurey

    Регистр.:
    13 сен 2006
    Сообщения:
    419
    Симпатии:
    576
    Может, лучше вот так?

    PHP:
    <?php
        $domains 
    = array('site.ru'=>'Сайт.ру',
                         
    'hren.ru'=>'Хрен.ру');
                         
        echo 
    '<title>'.$domains[$_SERVER['HTTP_HOST']].'</title>';
    ?>
     
  4. zavulon

    zavulon Постоялец

    Регистр.:
    9 май 2007
    Сообщения:
    79
    Симпатии:
    34
    А ещё лучше так

    PHP:
    <?php
        $domains 
    = array(
            
    'site.ru'=>'Сайт.ру',
            
    'hren.ru'=>'Хрен.ру',
            
    'default' => 'Непонятный сайт',
        );

        
    $site strtolower($_SERVER['HTTP_HOST']);
        
    $site str_replace('/^www\./'''$site);
        
        if (!
    array_key_exists($site$domains)) {
            
    $site 'default';
        }
                         
        echo 
    '<title>'.$domains[$site].'</title>';
    ?> 


    Добавлено через 1 минуту
    Но всё равно умные поисковики склеят оба сайта, если будет отличаться только title.
     
  5. Jeurey

    Jeurey

    Регистр.:
    13 сен 2006
    Сообщения:
    419
    Симпатии:
    576
    Чет я не понимаю в чем смысл этих преобразований. Честно... :)

    Зачем дефолтовое значение делать? Для чего? Скрипт не сработает на чужом домене - ведь так? Тогда нахрена от этого страховаться? :D
     
  6. Sergeknsk

    Sergeknsk Постоялец

    Регистр.:
    17 окт 2007
    Сообщения:
    50
    Симпатии:
    9
    Преобразования полезны одназначно :)
    Код:
    $site = strtolower($_SERVER['HTTP_HOST'])
    
    Шо будет если набрать Перейти по ссылке а шо если subdomen.domen.ru? Или если Subdomen.Domen.ru
    По вашему "$domains = array" это всё будут разные сайты.
     
  7. mentanos

    mentanos Постоялец

    Регистр.:
    27 дек 2007
    Сообщения:
    128
    Симпатии:
    35
    как ни забавно, но это незавуалированный xss при register_globals=on


    и в то время, как браузеры автоматически преобразуют домены в нижний регистр, php вместе с apache сохраняют регистр (только что проверил и удивился).
     
  8. jurassik

    jurassik Прохожие

    Может тогда так?
    PHP:
    <?php 
    $domains 
    = array('
    site.ru'
    =>'Сайт.ру'
    'hren.ru'=>'Хрен.ру'
    );
     
    $site=strtolower($_SERVER['HTTP_HOST']);
    $dom =isset($domains[$site])?$domains[$site]:"";
     
    if(empty(
    $dom)) header("location: http://need.traffic.com/");
     
    echo 
    '<title>'.$domains[$_SERVER['HTTP_HOST']].'</title>';
     
    ?>
     
  9. zavulon

    zavulon Постоялец

    Регистр.:
    9 май 2007
    Сообщения:
    79
    Симпатии:
    34
    Можно и так. Только лучше после header писать exit();
     
  10. dash

    dash Создатель

    Регистр.:
    12 дек 2006
    Сообщения:
    15
    Симпатии:
    0
    Да пусть читает, может программистом станет ;)
     
Статус темы:
Закрыта.