php - htaccess 设置 rest api 来处理不存在的目录
问题描述
我过得很糟糕,不确定我是否想多了。我正在尝试在 php 中创建一个 rest API(可能没关系)。我想要格式为 /api/research/data/2020 的 uri。我创建了目录“research”,但下面没有。在 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 级别。我把它放在一个试图匹配目标的子目录中。
解决方案
推荐阅读
- python - 无法在 .select() 方法中使用多个属性
- puppeteer - 当我使用@media print 时,Puppeteer 忽略了一些 CSS 规则来打印 PDF
- javascript - Fancytree 拖放的问题
- browser - chrome 和 opera 看不到 unicode 图标
- javascript - 无法使用 Selenium 单击按钮
- excel - 如何根据也是动态的输入值修复索引+匹配
- android - 在詹金斯中,无法构建 android 构建
- javascript - 无法使用 Express-validator 验证用户输入
- python - PyQt5 中的 Stacked Widget 不会占用完整的主窗口空间
- c# - 使用 Windows 身份验证时,模拟不适用于跨域