【发布时间】:2023-03-09 05:23:01
【问题描述】:
我用 PHP 构建了一个简单的 RESTful web 服务。我在使用 .htaccess 时遇到了问题。
我的主文件位于http://example.com/webservice/api.php,具有不同的功能,如登录、搜索、删除用户等。我可以按如下方式访问 API(使用 [] 中的动词):
- http://example.com/webservice/login/ --- [POST uname=bob&password=123]
- http://example.com/webservice/search?name=bob --- [GET name=bob]
- http://example.com/webservice/deleteuser/ --- [删除 id=2]
我想添加一个重写规则,以便我可以访问 search API - http://example.com/webservice/search/name/bob
这是我的 .htaccess 文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^(.*)$ api.php?request=$1 [QSA,NC,L]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ api.php [QSA,NC,L]
RewriteCond %{REQUEST_FILENAME} -s
RewriteRule ^(.*)$ api.php [QSA,NC,L]
</IfModule>
【问题讨论】:
标签: php apache .htaccess rest mod-rewrite