Перенаправление URL на параметры

0

У меня есть шаблон url - www.domain.info/(unique_number)

например: http://domain.info/1211.10/09879, где 1211.10/09879 - уникальный номер

теперь, в запросе GET, я хочу перенаправить этот url на page.php, где page.php отобразит уникальные данные.

где я должен код для получения уникального номера из url? (я не хочу создавать каталог - 1211.10/09878/)

Каков наилучший способ достичь этого?

  • 0
    Зачем перенаправлять? Разве вы не можете просто сделать все это на одной странице?
  • 0
    Разве вы не можете отправить их на http://domain.info/page.php?x=1211.10/09879 затем получить доступ к x в вашем массиве $_GET ?
Показать ещё 2 комментария
Теги:
url

1 ответ

2
Лучший ответ

Для этого вы должны сначала настроить веб-сервер, чтобы отправлять все запросы на один и тот же скрипт, предполагая, что вы используете Apache, это будет примерно так:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ routing.php [QSA,L]

Это отправит все запросы, которые не указывают на фактический файл сценария routing.php.

Теперь в routing.php идентификатор можно получить через глобальную переменную $_SERVER['REQUEST_URI']:

// assuming the whole URL is http://domain.info/1211.10/09879?someParameter=someValue
$uri = $_SERVER['REQUEST_URI'];

// remove the leading / and parameters:
$uri = substr($uri, 1);
if (strstr($uri, '?') !== false)
{
    $uri = substr($uri, 0, strpos($uri, '?'));
}

// Here $uri contains "1211.10/09879" and you can carry on
  • 0
    именно то, что я хочу сделать. Как настроить веб-сервер для этого. я имею в виду, какой файл конфигурации я должен редактировать?
  • 0
    Все еще предполагая, что вы используете Apache и локальные переопределения разрешены в глобальной конфигурации сервера, вы можете поместить вышеупомянутые правила перезаписи URL в файл .htaccess в корне вашего веб-каталога.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню