こんにちは私は、URLが私のlocalhostから要求されたときにリクエストメソッドを取得しようとしています。私はhttp://localhost/API2/products.php?product_id=1がhttp://localhost/API2/products.php/products/1になるようにURLの書き換えを行った$ request_method = $ _ SERVER ["REQUEST_METHOD"];メソッドとしてGETを保持する必要があります。しかしむしろ毎回ゼロになる。要求方法GETSゼロ値
my.htaccessファイルには、これらのURLのルールを保持している:learn.phpで
RewriteEngine On # Turn on the rewriting engine
RewriteRule ^products/?$ products.php [NC,L]
RewriteRule ^products/([0-9]+)/?$ products.php?product_id=$1 [NC,L]
マイカールコマンドは、次のとおりです。
<?php
$url = 'http://localhost/API2/products';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response_json = curl_exec($ch);
curl_close($ch);
$response=json_decode($response_json, true);
?>
ので、私はそれもないlearn.phpである私のcurlコマンドを実行すると$ request_method = $ _ SERVER ["REQUEST_METHOD"]リクエストメソッドがゼロの値を保持しているため、私には何らかのデータが表示されます。
は、あなたの質問は* product.phpのproduct_id = 1 *に*製品/ 1 *から言って、まだあなたのリダイレクトコードは反対をし...?とにかく、$ _GETはURLが?key = valueの形式である場合にのみ値を含みます。/page/key/valueには、$ _GETには何もありません。 – Nic3500
問題は、curlコマンドをlearn.phpファイルに入れて実行したときに、POSTポストケースを実行してrequest_methodが正しい値を取得していないことが判明した場合など、スイッチケースに入ることはありません。 – Rahila
または私のカール要求が実行されていないと思います。何か案が? – Rahila