我必须重写一个复杂的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
有没有办法重写这样的东西?
谢谢
答案 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 =等......