复杂URL重写(无顺序)

时间:2014-11-07 11:08:02

标签: php .htaccess url-rewriting

我必须重写一个复杂的URL,它可以包含0到20个不同的参数。 问题是参数是以未定义的顺序(取决于用户使用网站的方式)

例如我可以:

www.site.com/page.php?A=x&B=x OR
www.site.com/page.php?B=x&A=x

我想将这些网址重写为一个唯一的网址,如:

www.site.com/A-B.html

有没有办法重写这样的东西?
谢谢

2 个答案:

答案 0 :(得分:1)

是的,使用连接功能:

$params = array();
foreach ($_GET as $key => $val) {
    $params[] = $key;
}
if (count($params)) {
    header("Location: " . join("-", $params) . ".html");
    die();
}

答案 1 :(得分:1)

您可以尝试使用.htaccess:

RewriteEngine on 

RewriteCond %{REQUEST_URI} ^/page\.php
RewriteCond %{QUERY_STRING} A=
RewriteCond %{QUERY_STRING} B=
RewriteRule .* A-B.html [QSA,L]

仅在您对a =&的内容感兴趣时才使用[QSA] b =等......