Выдернуть название домена.

Discussion in 'PHP' started by Rasta18, 29 Feb 2016.

  1. Rasta18

    Rasta18 Member

    Joined:
    8 Jul 2009
    Messages:
    83
    Likes Received:
    7
    Reputations:
    0
    Подскажите пожалуйста, как выдернуть название домена?

    К примеру, у меня включены авто субдомены.
    asdfasdf.site.ru или fw4r3rrwr.site.ru

    любой из этих субдоменов работает из корня site.ru

    но на сайте: asdfasdf.site.ru, в содержимом тексте должно быть название "asdfasdf"
    а на: fw4r3rrwr.site.ru, должно быть "fw4r3rrwr"

    Даже понятия не имею как загуглить это.
     
  2. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Сделай вывод переменной $_SERVER в пхп и посмотри где там светится поддомен
     
  3. Tatikoma

    Tatikoma New Member

    Joined:
    2 Mar 2016
    Messages:
    9
    Likes Received:
    3
    Reputations:
    1
    PHP:
    if(!isset($_SERVER['HTTP_HOST'])){
        die(
    'Wrong configuration of web server. HTTP Host header must be passed.');
    }
    $domain $_SERVER['HTTP_HOST'];
    $subdomain str_replace('.site.ru.'''$domain);
    // или, на любителя, можно например так:
    // $subdomain = preg_replace("#\..+#", '', $domain);
    print "Sub-domain is: " $subdomain "\n";
     
    Knight_of_Darkness likes this.
  4. bologer

    bologer Member

    Joined:
    25 Nov 2016
    Messages:
    62
    Likes Received:
    18
    Reputations:
    3
    JS решение - https://regex101.com/r/tpn2lc/2. Удали там "m" - это я чисто для мультистрочного варианта там сделал.

    Code:
    var siteUrl = window.location.hostname;
    var regex = /^([a-z0-9]{1,})./gi; // добавь еще "m" если хочешь, чтобы работало для мультистрок
    
    var res = regex.exec(siteUrl);
    
    if( !res )
        console.log('Поддомен не найден.');
    else
        console.log('Поддомен: '  + res[1]);