如何在没有.php的情况下重定向php文件

如何在没有.php的情况下重定向php文件,php,rest,Php,Rest,我有一个APIlist.php,它将生成如下响应 [ { id: "10000", name: "John Doe", designation: "Android Developer", mobile: "5550088966", email: "john@doe.com" }, { id: "10001", name: "Foo Bar", designation: "UI Designer", mobile: "5550158556", email:

我有一个API
list.php
,它将生成如下响应

[
 {
  id: "10000",
  name: "John Doe",
  designation: "Android Developer",
  mobile: "5550088966",
  email: "john@doe.com"
},
{
  id: "10001",
  name: "Foo Bar",
  designation: "UI Designer",
  mobile: "5550158556",
  email: "foo@bar.com"
 }
]
如果我调用API,比如
list.php/10000
,它将只返回id为

{
  id: "10000",
  name: "John Doe",
  designation: "Android Developer",
  mobile: "5550088966",
  email: "john@doe.com"
}
我已经为
.htaccess
文件编写了一些代码来调用API,如
list
list/10000

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
但是只有
list
工作,但是
list/10000
不工作,我怎么解决这个问题

这是php脚本

<?Php
// Create database authentication and connection
$dbHost = "localhost";
$dbName = "id10693574_android";
$dbUsername =   "id10693574_aseemsalim";
$dbPassword =   "aseemsalim@12";

$connection =   mysqli_connect($dbHost,$dbUsername,$dbPassword,$dbName);
$where='';
$url=$_SERVER['REQUEST_URI'];
// print_r($url);exit;
$url_array=explode('list.php',$url);
//print_r($url_array);
//exit;
if(!empty($url_array['1']))
{
    $slashid=$url_array[1];
    $id=substr($slashid,1);
    $where= "WHERE id=$id";
}
//exit;
$sql    =   "select * from employees $where";

$results= mysqli_query($connection,$sql);

$response = array();

while ($row=mysqli_fetch_array($results)){
    array_push($response,array('id'=>$row['id'],'name'=>$row['name'],'designation'=>$row['designation'],'mobile'=>$row['mobile'],'email'=>$row['email']));
}
if($response){
echo json_encode($response);
}
else{
   echo json_encode(null); 
}

mysqli_close($connection);
     ?>

您可以尝试
重写规则([a-z]+)\/([0-9]+)\/?$list.php?param=$1¶m2=$2[NC]

然后,您可以调用
$\u REQUEST
['param']
['param2']
访问此URL的API

https://restapiaseem.000webhostapp.com/api/employees/list.php
它的工作原理是:

 RewriteEngine on 
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)/list/(.*)$ $1/list.php?id=$2 [L,QSA]
 RewriteRule ^(.*)/list $1/list.php

您也可以在此处进行测试:

您应该能够使用以下内容

RewriteEngine on
RewriteBase /
RewriteRule ^list/([0-9]+)/?$ /api/employees/list.php?id=$1 [NC,L]
这将允许您使用url,例如:

https://restapiaseem.000webhostapp.com/list/1000

这意味着您可以访问
$\u GET['id']
,并在生成记录集的任何sql查询中使用它https://restapiaseem.000webhostapp.com/api/employees/list.php上面添加的php代码