0

投稿してURLをhtaccessで書き換えたら$_GETからの手紙を受け取りたいです。例えば:

$_POST['setting'] = 'w';

投稿後、次のようなリダイレクトを行っています。

/*more post variables here*/

$setting = $_POST['setting'];
header("Location{$basedir}page/$budget/$region/$reservations/$pool/$conference/$open/$meal/$setting/");
exit();

私のhtaccess構成は次のようになります:

RewriteRule ^page/([0-9]+).([0-9]+)/([0-9]+).([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+)/[a-z]/?$ page.php?budget=$1.$2&region=$3.$4&reservations=$5&pool=$6&conference=$7&open=$8&meal=$9&setting=$10

私もこれを試してみましたが、運がありませんでした:

RewriteRule ^page/([0-9]+).([0-9]+)/([0-9]+).([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+)/(.*)/?$ page.php?budget=$1.$2&region=$3.$4&reservations=$5&pool=$6&conference=$7&open=$8&meal=$9&setting=$10

リダイレクト後 $_GET['setting'] は、期待どおりの文字列ではなく、整数です。

URL example: server/site/page/0.0/0.0/0/1/1/0/0/w/

$_GET の var_dump は次のようになります。

array (size=8)
 'budget' => string '15.30' (length=5)
 'region' => string '0.0' (length=3)
 'reservations' => string '0' (length=1)
 'pool' => string '1' (length=1)
 'conference' => string '0' (length=1)
 'open' => string '1' (length=1)
 'meal' => string '0' (length=1)
 'setting' => string '150' (length=3)

ここで何が起こっているのか、または何が間違っているのか考えていますか? ありがとうございました

4

2 に答える 2

0

そのようにしてみてください。

RewriteRule ^page/([0-9]+).([0-9]+)/([0-9]+).([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+)/([a-zA-Z]+)/?$ page.php?budget=$1.$2&region=$3.$4&reservations=$5&pool=$6&conference=$7&open=$8&meal=$9&setting=$1
于 2013-05-23T21:46:45.407 に答える