0

我似乎对 .htaccess rewriterule 有问题。

我想要做的是这种形式的调度员:

[website]/[parameter1-text]/[parameter2-text]

我的 .htaccess 中有以下内容:

RewriteRule ^(.*)/(.*)$ dispatcher.php?s1=$1&s2=$2

到现在为止还挺好。但是 s1 和 s2 是一些需要在数据库(mysql)中匹配的变量,并以以下格式返回为脚本 view.php 提供的真实变量:

view.php?category=[s1]&subcategory=[s2]&objects=5

如何使用 header("Location: /view.php[...]"); 正确重定向它 并保持 url 不变(例如:http://example.com/CARS/BLUE http://example.com/SLIPPERS/RED/ )

4

1 回答 1

1

首先修复您的 .htaccess 的一些小问题:

RewriteRule ^([^/]+)/([^/]*)/?$ dispatcher.php?s1=$1&s2=$2 [L,QSA]

现在在里面做你的 Mysql 东西并从数据库中dispatcher.php获取值。完成并希望在内部将您的请求转发到:拥有这种类型的 PHP 代码:s1s2view.php?category=[s1]&subcategory=[s2]&objects=5

$_GET['category'] = $value-of-s1-from-DB;
$_REQUEST['category'] = $_GET['category'];
$_GET['subcategory'] = $value-of-s2-from-DB;
$_REQUEST['subcategory'] = $_GET['subcategory'];
$_GET['objects'] = '5';
$_REQUEST['objects'] = $_GET['objects'];
// now include view.php
// all your parameters are available in view.php in $_GET array
require_once("view.php");
于 2012-05-24T21:24:39.760 回答