【发布时间】:2021-08-11 09:55:31
【问题描述】:
我创建了一个 API,我通过一个特定的 url 获取我的所有数据,并通过 'id' 像这样:
'myfolder.php/1'
所以现在我尝试用字符串获取我的网址:
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?
-
问题是我的 rewriteRule 对于字符串是错误的。我有看主题并尝试像这样 RewriteRule ^[^/]+/^[A-Za-z]+$ myfolder.php?sign=i 但这也不起作用。
-
对于网址:myurl.com/mystring,我想要类似的东西
标签: .htaccess mod-rewrite url-rewriting friendly-url