参数上的URL重定向

时间:2015-01-13 08:34:26

标签: php url

我有一个网址模式 - www.domain.info/(unique_number)

例如:http://domain.info/1211.10/09879其中 1211.10 / 09879 是唯一编号

现在,在GET请求中我想将此网址重定向到page.php,其中page.php将显示unique_number的数据。

我应该从哪里编码从url获取唯一号码?(我不想制作目录 - 1211.10 / 09878 /)

实现这一目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

要实现这一点,您必须首先配置Web服务器,以便将所有请求发送到同一个脚本,假设您正在使用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