我过得很糟糕,不确定我是否想多了。我正在尝试用 php 创建一个 rest API(可能无关紧要(。 我想让 uri 采用/api/research/data/2020 格式。我创建了目录"研究",但除此之外什么都没有。在 htaccess 文件中,我有
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^/api/research/data/$ /api/research/index.php [NC,L]
我不断得到/api/research/不存在的结果(这是真的,它不存在(。我尝试过文字,并尝试了各种模式匹配。我已经用谷歌搜索并尝试了很多东西,但似乎没有什么能满足我的需求。
主要问题:/api/research/
需要存在吗?/api/research/data/
吗?或者如果不是,我可能做错了什么?
谢谢!
2020年5月26日更新:我终于得到了这个工作:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^mobile/list/?$ RestController.php?view=all [nc,qsa]
RewriteRule ^mobile/list/([0-9])+/? RestController.php?view=single&id=$1 [nc,qsa]
1(我遇到的主要问题是从^/开始,而不仅仅是^。一旦我进行了更改,它就立即清除了。我不需要创建任何这些目录。
2(.htaccess文件需要处于public_html级别。我把它放在一个子目录中,试图匹配目标。
我建议使用通配符重写,然后在 PHP 中过滤 API 的端点:
# .htaccess
RewriteEngine On
RewriteRule ^(.*)/(.*)/?$ index.php [nc,qsa]