За последние 24 часа нас посетили 18753 программиста и 1705 роботов. Сейчас ищут 670 программистов ...

Перенаправление отдельных запросов на домент ретьего уровня

Тема в разделе "Настройка веб-сервера", создана пользователем bejoy, 20 ноя 2014.

  1. bejoy

    bejoy Новичок

    С нами с:
    20 ноя 2014
    Сообщения:
    4
    Симпатии:
    0
    Доброго времени,

    подскажите, как перенаправить профили пользователей на адрес вида:
    user.server.ru/[user-name]
    при условии, что значение [user-name] может быть пустым.

    Сейчас использую такое условие:
    Код (Text):
    1. RewriteCond %{HTTP_HOST} ^user\.server\.ru$
    2. RewriteRule ^([a-zA-Z0-9-_]+)$ /?ui=$1 [L]
    Как видно, это работает, для всех случаев, при !empty( [user-name] )
    И, естественно, отказывается работать с пустым значением [user-name].

    Здесь в скрипт передается параметр ui, содержащий значение [user-name].

    Как бы заставить запрос вида user.server.ru передавать значение ui в любом случае.

    Спасибо.
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Re: Перенаправление отдельных запросов на домент ретьего уро

    дефолтное значение что ли?
     
  3. bejoy

    bejoy Новичок

    С нами с:
    20 ноя 2014
    Сообщения:
    4
    Симпатии:
    0
    Re: Перенаправление отдельных запросов на домент ретьего уро

    логика такая: если явно не указано значение [user-name], то оно берется скриптом из cookies.
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Re: Перенаправление отдельных запросов на домент ретьего уро

    серьезно? вот такая логика? то-то в первом сообщении 100500 раз употреблено слово куки. а я-то думаю голову ломаю...

    в чем проблема рерайтером прочитать значения из кук?
     
  5. bejoy

    bejoy Новичок

    С нами с:
    20 ноя 2014
    Сообщения:
    4
    Симпатии:
    0
    Re: Перенаправление отдельных запросов на домент ретьего уро

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

    нужно просто: чтобы при запросе "user.server.ru/[user-name]" передавался аргумент "ui" со значением [user-name], даже если [username] не содержит никакого значения.

    по сути, можно сказать, дефолтное значение в виде пустой строки, нуля или false, но не null

    ------------------

    решено: используя $_SERVER['HTTP_HOST']
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    не понимаю зачем через mod_rewrite запихивать путь в параметр, если скрипт всегда может прочитать путь из переменной $_SERVER
    Код (Text):
    1. RewriteCond %{HTTP_HOST} ^user\.server\.ru$
    2. RewriteRule .* index.php [L]
    и в index.php
    Код (PHP):
    1. $ui = trim($_SERVER['REQUEST_URI'], '/');
    не?