API在url中配置参数



我已经创建了一个API,我用一个特定的url获取我的所有数据,通过像这样的"id":

'myfolder.php/1'

所以现在我试着用一个字符串获取我的url:

myfolder.php/mystring 

在id的Htacess中,我喜欢这样:

RewriteRule ^[^/]+/(d+)$ myfolder.php?id=$1

但我找不到适合我尝试过的字符的正则表达式:

RewriteRule ^[^/]+/([a-z]+)$ myfolder.php?string

编辑:如果我调用url'myurl.com',就会调用我的函数getProducts。如果我调用'myurl.com/1',则会调用getProduct($id(但是如果我调用'myurl.com/string',$_GET为空,并且调用getProducts。

switch($request_method) {
case 'GET':
// HERE $_GET is empty if i called a string
if(!empty($_GET["id"])) {
$id= $_GET["id"];
getProduct($id);
}
else {
getProducts();
}
break;
default:
header("HTTP/1.0 405 Method Not Allowed");
break;
}

使用您显示的示例,请尝试以下操作。请确保在测试URL之前清除浏览器缓存。还要确保php文件位于保存htaccess规则文件的同一文件夹中。

##Enabling RewriteEngine here.
RewriteEngine ON
##Placing conditions for non-existing requests with rewriterule to php file.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([w-]+)/?$  myfolder.php/$1 [NC,QSA,L]

相关内容

  • 没有找到相关文章

最新更新