【发布时间】:2014-10-05 09:13:54
【问题描述】:
我正在使用https://github.com/chriskacerguis/codeigniter-restserver REST 控制器库在codeigniter 中编写一个REST api。我已经在 application/controllers/api/v1 中编写了我的控制器并覆盖了 Router 类以允许控制器内有多个子文件夹。
现在我想以 http://api.domain.com/v1/user/11 而不是 http://api.domain.com/api/v1/user/11
我已尝试遵循 htaccess 规则
RewriteCond %{HTTP_HOST} ^api\.domain\.com$
RewriteCond %{REQUEST_URI} !index.php/
RewriteRule ^(.*)/?$ /index.php/api/$1 [QSA,L]
但它似乎不起作用,因为 $_SERVER 全局变量中的 REQUEST_URI 设置为 v1/user/11 而不是 api/v1/user/11 所以 codeigniter 无法找到控制器。
除了在 index.php 中设置更改 REQUEST_URI 之外,有没有其他方法可以达到要求?
我不想做永久重定向。
非常感谢任何帮助。
【问题讨论】:
标签: php .htaccess api codeigniter rest