Как это реализовать?

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем Leonid777, 2 апр 2009.

Статус темы:
Закрыта.
  1. Leonid777

    Leonid777 Постоялец

    Регистр.:
    16 мар 2007
    Сообщения:
    97
    Симпатии:
    5
    Уважаемые профессионалы, подскажите, пожалуйста, как реализовать редирект:

    Посетитель переходит на сайт по ссылке вида: _http://site.ru/?p=1 (где p - это произвольное число, т.е. не обязательно = 1), после чего, он должен быть перенаправлен на _http://site.ru/
     
  2. -Zveroboy-

    -Zveroboy- Создатель

    Регистр.:
    21 ноя 2008
    Сообщения:
    33
    Симпатии:
    8
    Я так понял средствами сервера хотите это сделать ?
    Какой вебсервер используете ?
     
  3. Leonid777

    Leonid777 Постоялец

    Регистр.:
    16 мар 2007
    Сообщения:
    97
    Симпатии:
    5
    Я хочу это сделать с помощью правила в .htaccess. А сервер использую - VDS с FreeBSD. Или я не правильно понял Ваш вопрос?
     
  4. streloklab

    streloklab Создатель

    Регистр.:
    16 фев 2007
    Сообщения:
    47
    Симпатии:
    33
    Имелось в виду что используется - Apachе или nginx или lightppd.
    Видимо Apache )

    Это для рефссылок? Просто тогда p нужно сохранять. И логичнее сделать в скрипте переход header-ом после учета.
    Или просто редирект?
     
    Leonid777 нравится это.
  5. -Zveroboy-

    -Zveroboy- Создатель

    Регистр.:
    21 ноя 2008
    Сообщения:
    33
    Симпатии:
    8
    Директива RedirectMatch

    Описание: Выполняет редирект посетителя, запрашивающего документ на другой URL. Выполняет внешний редирект (сообщая браузеру о необходимости загрузить другой URL). Директива аналогична Redirect, за исключением того, что вместо адреса запрашиваемого документа пишется регулярное выражение (шаблон)

    Синтаксис: RedirectMatch regexp URL

    Смысл такой.
     
  6. Leonid777

    Leonid777 Постоялец

    Регистр.:
    16 мар 2007
    Сообщения:
    97
    Симпатии:
    5
    Да сервер Apache. А за идею спасибо.

    Добавлено через 2 минуты
    Не могли бы Вы подсказать, как правильно составить регулярное выражение для обработки url-а в моем случае? (т.е. _http://site.ru/?p=1 )
     
  7. tarantas

    tarantas Постоялец

    Регистр.:
    22 мар 2008
    Сообщения:
    75
    Симпатии:
    14
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^(site\.ru\/)\?p=1$ $1 [R=301,L]
    </IfModule>
     
    Leonid777 нравится это.
Статус темы:
Закрыта.