rewriterule htaccess - 如何获取查询字符串以供使用

时间:2011-05-24 10:08:19

标签: php apache rewrite

有没有办法在PHP中恢复查询字符串?

我有: http://mywebsite.com/cars/BMW/ http://mywebsite.com/List.php?categories=/cars/BMW/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/$ /List.php?categories=$1 [L]

我想在PHP中捕获类别值。请注意参数格式'/ cars / BMW /'

3 个答案:

答案 0 :(得分:3)

您可以像以前一样访问该值,以便获得汽车价值。

echo $_GET['categories'];

应该回应

/cars/BMW

答案 1 :(得分:0)

在PHP中,通过$_GET['categories']访问它,并使用explode()函数分隔/上的部分:

if (isset($_GET['categories']))
{
  $parts = explode("/", $_GET['categories']);
  $vehicle_type = $parts[0];
  $vehicle_make = $parts[1];

  echo $vehicle_type . " ";
  echo $vehicle_make;
}

答案 2 :(得分:0)

您可以尝试以下操作:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^categories=(.*)
RewriteRule .* /List.php?categories=$1 [L]

这将捕获查询字符串中类别之后的所有内容,并将其应用于规则中。