URL 根据参数重定向
URL redirection upon parameters
我有一个 url 模式 -- www.domain.info/(unique_number)
例如:http://domain.info/1211.10/09879 其中 1211.10/09879 是一个唯一的数字
现在,根据 GET 请求,我想将此 url 重定向到 page.php,其中 page.php 将显示 unique_number 的数据。
我应该在哪里编码以从 url 获取唯一编号?(我不想创建目录 - 1211.10/09878/)
实现此目标的最佳方法是什么?
要实现这一点,您必须首先配置 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
我有一个 url 模式 -- www.domain.info/(unique_number)
例如:http://domain.info/1211.10/09879 其中 1211.10/09879 是一个唯一的数字
现在,根据 GET 请求,我想将此 url 重定向到 page.php,其中 page.php 将显示 unique_number 的数据。
我应该在哪里编码以从 url 获取唯一编号?(我不想创建目录 - 1211.10/09878/)
实现此目标的最佳方法是什么?
要实现这一点,您必须首先配置 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