За последние 24 часа нас посетили 49243 программиста и 3125 роботов. Сейчас ищут 1123 программиста ...

Регистрация юзеров. Каждый юзер - домен 3-го уровня.

Тема в разделе "PHP для новичков", создана пользователем stos, 21 мар 2008.

  1. stos

    stos Активный пользователь

    С нами с:
    28 дек 2007
    Сообщения:
    57
    Симпатии:
    0
    Доброго времени суток, господа.
    Вот решил такую тему замутить на сайте. Чтобы при регистрации юзера страница его профиля имела вид: юзер.адрессайта.зона

    Не подскажете ли в каком направлении копать и думать ?.

    п.с. по поводу целесообразности затеи можно не высказываться. пока сам на грабли не наступлю - не поверю ;)

    п.п.с. заранее благодарен.
     
  2. dAllonE

    dAllonE Guest

    ща на работу сваливаю, чуть позже напишу.
     
  3. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    htaccess + mod_rewrite
     
  4. dAllonE

    dAllonE Guest

    antonn прав. Так проще всего.

    Я по извращенски это решал, т.к. мне нужно было еще и 2-го уровня домены регить...
     
  5. S.t.A.M.

    S.t.A.M. Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    1.041
    Симпатии:
    0
    dAllonE
    +1
    У меня реализовано разбором адресной строки.
     
  6. dAllonE

    dAllonE Guest

    S.t.A.M., у меня ничего не разбирается, просто скрипт прописывает зоны на сервере и создает файл в /usr/local/etc/apache2/Includes.
    Но это небезопастно и из-за незнания FreeBSD я с этим запарился.
     
  7. stos

    stos Активный пользователь

    С нами с:
    28 дек 2007
    Сообщения:
    57
    Симпатии:
    0
    у меня пока мысль, что надо создавать виртуальные хосты. но при этом каждый раз будет перегружаться апачъ. думаю можно ли реализовать это чтобы сервак подхватывал создание вирт хостов без ребута апача каждый раз...
     
  8. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    200 юзеров - 200 хостов, 1000 юзеров - 1000 хостов? :)
    а если ник с русскими буквами? :)
     
  9. stos

    stos Активный пользователь

    С нами с:
    28 дек 2007
    Сообщения:
    57
    Симпатии:
    0
    хм... насчет русских не думал, т.к. сайт англоязычный...

    а если в динамике ?.
     
  10. dAllonE

    dAllonE Guest

    antonn, ну народ ведь до сих пор жиффф ;)
     
  11. stos

    stos Активный пользователь

    С нами с:
    28 дек 2007
    Сообщения:
    57
    Симпатии:
    0
  12. dAllonE

    dAllonE Guest

    (C) Apache Manual
     
  13. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    если надо именно это

    http://user.example.com/?a=a&b=b -> http://example.com/userinfo/?u=user
    то это mod_rewrite

    НО! должны быть ограничения, т.к. имя юзера(ник) должно быть [a-z0-9_]+

    ---

    мутить с виртуальными хостами, перезагружать апач и т.д. глупо, накладно и небезопасно.


    как вариант через виртуальные хосты это

    httpd.conf
    <VirtualHost *>
    ServerName *.examle.com
    </VirtualHost>

    и уже в скрипте смотреть по какому поддомену пришли.
     
  14. stos

    stos Активный пользователь

    С нами с:
    28 дек 2007
    Сообщения:
    57
    Симпатии:
    0
    т.е. профиль юзера, грубо говоря, находицца по адресу: http://site.com/users.php?user=stos
    чел вводит в адресную строку браузера http://stos.site.com и страница будет содержать инфу во этой страницы http://site.com/users.php?user=stos ?. т.е. это mod_rewrite ?.
     
  15. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    stos

    да

    более того будет так
    user/site/com?a=a&b=b -> site.com/userinfo/?user=user&a=a&b=b

    но для этого надо:

    1. SeverName *site.com в конфиге виртуального хоста
    2. .htaccess соотвественно плоложить нужные команды mod_rewrite
     
  16. Anonymous

    Anonymous Guest

    очень легко. у апача есть restart-graceful
     
  17. RomanBush

    RomanBush Активный пользователь

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    Намекни, как правила будут выглядеть? Сам что-то не соображу, а тема заинтересовала.
     
  18. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    RomanBush, как-то так:
    Код (Text):
    1. RewriteCond %{SERVER_NAME} ([^\.]*)\.example.com
    2. RewriteRule ^.*$ userinfo/?u=%1 [QSA,R]
     
  19. RomanBush

    RomanBush Активный пользователь

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    Ага. Куда копать/что читать - понял.
    Остался вопрос - а что в апаче прописывать, чтобы с несуществующего поддомена на основной перекидывало?
    Сразу скажу - апач знаю очень поверхостно. Точнее сказать - не знаю. Скажите, что почитать? И в какую сторону читать?
     
  20. Anonymous

    Anonymous Guest

  21. RomanBush

    RomanBush Активный пользователь

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    Горбунов Олег
    Примерно понял. Спасибо. Буду копать.