В папке " api " внутри папки Wamp " www " у меня есть следующий файл " api.php ":
<?php
header('Content-Type: application/json');
$result = NULL;
if($_GET["token"]==="just_a_test_value_atm")
{
switch($_SERVER["REQUEST_METHOD"])
{
case "GET":
$result = array("status" => "success", "data" => array("param" => $_GET["query"], "type" => "get"));
break;
case "POST":
$result = array("status" => "success", "data" => array("param" => $_GET["query"], "type" => "post"));
break;
default:
$result = array("status" => "fail", "msg" => "Invalid HTTP method \"".$_SERVER["REQUEST_METHOD"]."\".");
}
}
else
{
$result = array("status" => "fail", "msg" => "Invalid token.");
}
echo json_encode($result);
?>
И следующий файл " .htaccess " рядом с ним:
RewriteEngine on
# QSA : Query String Append
RewriteRule ^api/v1/(.*)$ api.php?query=$1 [L,QSA]
Когда проект загружается на мой веб-сайт (размещенный на planethoster), следующий URL-адрес вызывает:
http://xyz.planethoster.world/api/v1/abc/def.json&token=just_a_test_value_atm
работает нормально, возвращая:
{"status":"success","data":{"param":"abc\/def.json","type":"get"}}
Но когда я пытаюсь проверить его локально с помощью Wamp (с загрузкой rewrite_module на Apache), следующий URL-вызов:
http://localhost/api/api/v1/abc/def.json&token=just_a_test_value_atm
возвращает:
<br />
<font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined index: token in C:\wamp64\www\api\api.php on line <i>6</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0001</td><td bgcolor='#eeeeec' align='right'>400984</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp64\www\api\api.php' bgcolor='#eeeeec'>...\api.php<b>:</b>0</td></tr>
</table></font>
{"status":"fail","msg":"Invalid token."}
Что здесь не так?