0

.htaccessリダイレクターに問題があるようです。

私がやりたいのは、この形式のディスパッチャです。

[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]

ここでdispatcher.php、Mysqlの処理を実行し、データベースの値s1s2データベースから値をフェッチします。完了し、リクエストを内部的に転送したい場合は、次のようにします。view.php?category=[s1]&subcategory=[s2]&objects=5このタイプのPHPコードを使用する:

$_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 に答える