Php 删除链接中的GET参数?
我有一个API链接,如: www.mydomain.com/api.php?key=test&action=say&what=hi 我想访问它,就像: www.mydomain.com/api.php/test/say/hiPhp 删除链接中的GET参数?,php,Php,我有一个API链接,如: www.mydomain.com/api.php?key=test&action=say&what=hi 我想访问它,就像: www.mydomain.com/api.php/test/say/hi 可能吗?我没有找到。如果您正在使用php修改API url,那么您可以使用下面的函数 <?php //Suppose we have URL in string format //$apiLink = 'www.mydomain.com/api.php?key=tes
可能吗?我没有找到。如果您正在使用php修改API url,那么您可以使用下面的函数
<?php
//Suppose we have URL in string format
//$apiLink = 'www.mydomain.com/api.php?key=test&action=say&what=hi';
//if we doesn't know, or it will be dynamic all times getting from browser
$apiLink = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$sendNewUrl = makeNewURL($apiLink);
header("location: ".$sendNewUrl);
function makeNewURL($apiLink){
$totalParams = "";
$apiData = explode("?",$apiLink);
$apiParameters = explode("&",$apiData[1]);
if(count($apiParameters)>0){
foreach($apiParameters as $params){
if(strpos($params, '=') !== false){
$expected = explode("=",$params);
$totalParams .= $expected[1];
if($totalParams!=""){
$totalParams .= "/";
}
}
}
}
return $apiData[0]."/".$totalParams;
}
是的,可以通过.htaccess
实现。这正是我所期望的,但是如何实现呢?搜索.htaccess rewrite url如果您正在访问的是第三方Api,那么您不能这样做。如果这是您的本地API,则只有.htaccess
重写规则将在此处更新您所做的(或方法)达到this@MattBelcaustier可以通过这种方式获得api URL的更改,并将其使用/重定向到我们需要的位置..我不明白您为什么要创建新URL+我收到一个错误,那么您想采用什么方法。。澄清问题。如何获取值(API URL)以及您希望通过流程实现什么。你的问题不清楚。如果你想只重写url,只有当你有权在api服务器上编写htaccess代码时才有可能。我想通过api.php/test/say/hi
访问api.php?key=test&action=say&what=hi