Виртуальные субдомены example.ru/index.php?ava=test -> test.example.ru

Тема в разделе "Как сделать...", создана пользователем n1k.Sly, 12 июл 2018.

  1. n1k.Sly

    n1k.Sly Постоялец

    Регистр.:
    7 сен 2009
    Сообщения:
    91
    Симпатии:
    7
    Добрый день !
    Впервые столкнулся с такой вот задачей и не знаю что делать и что-то в гугле ничего особо не нашел в маны апач орг слишком заморочили меня :-(

    Суть задачи проста есть простой у которого есть 20-30 разных get параметров.
    что-то вроде example.ru/index.php?get_t=test1 и поехали test2 test3 и т.д. может быть и вобще другое значение...

    В php заданы параметры и как сделать так чтоб например при обращении к ссылке выше открывался субдомен test1.example.ru и соотвественно с любым другим значением которое может быть передано ?

    Никак не могу понять а опыта работыс .htaccess просто 0, подскажите если кто знает :)
     
  2. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.287
    Симпатии:
    2.295
    Не проще отталкиваться от $_SERVER['HTTP_HOST'] ?
     
  3. n1k.Sly

    n1k.Sly Постоялец

    Регистр.:
    7 сен 2009
    Сообщения:
    91
    Симпатии:
    7
    Я к сожалению в пхп тоже не гуру если натолкнётё чуть более разжевано :)
    я думал в htaccess как-то можно это решить :)
     
  4. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.287
    Симпатии:
    2.295
    $_SERVER['HTTP_HOST'] содержит текущий хост (домен)...

    Т.е. при открытии http://test.example.ru/ в переменную попадёт "test.example.ru".
    Соответственно Вы просто назначаете все поддомены на 1 место, а дальше вместо проверки $_GET['get_t'] проверяете $_SERVER['HTTP_HOST'] :)

    $_SERVER, правда, не самая надёжная штука, но и Ваш Вариант не сильно надёжнее :)

    Насколько помню, $_SERVER['HTTP_HOST'] можно подделать и довольно легко. Но ровно так же можно и передать Ваш параметр get_t, даже проще :)
     
  5. n1k.Sly

    n1k.Sly Постоялец

    Регистр.:
    7 сен 2009
    Сообщения:
    91
    Симпатии:
    7
    Вот данный момент пока что не совсем понятен т.е. мне необходимо создать нужные мне субдомены и скажем назначить им не ноый директорию, а нужную мне где скажем лежит мой php верно понимаю? :)
     
  6. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.287
    Симпатии:
    2.295
    Да, всё верно. Ты назначаешь все домены на 1 директорию со своим index.php
     
  7. n1k.Sly

    n1k.Sly Постоялец

    Регистр.:
    7 сен 2009
    Сообщения:
    91
    Симпатии:
    7
    Спасибо за советы, сегодня буду вечером пытаться, надеюсь всё получится без долгих мучений ^_^
     
  8. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.287
    Симпатии:
    2.295
    PHP:
    <?php

    switch ($_SERVER['HTTP_HOST']) {

        case 
    'nulled.cc':

            echo 
    'Вы пришли с домена nulled.cc';

            break;

        case 
    'nulled.ws':

            echo 
    'А это домен nulled.ws';

            break;

        default:
            
            echo 
    'Этот скрипт будет менять текст в зависимости от домена, на котором запущен :) ';
            
            break;

    }
    Вот беглый пример...

    А что за задача? Зачем тебе знать, с какого домена человек пришёл? И зачем один скрипт на нескольких доменах? :)