.htaccess用于我的API系统

时间:2014-06-19 13:32:46

标签: php .htaccess api mod-rewrite url-rewriting

我有这个.htaccess:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^(.*)$ api.php?rquest=$1 [QSA,NC,L]

允许我拨打mywebsite.com/api/addComment之类的电话并将其重定向到mywebsite.com/api/api.php?rquest=addComment

现在我试图扩展它并使其更有效率,但我无法弄清楚如何。我想对特定文件进行不同的调用,如下所示:

/api/comments/add重定向到/api/comments.php?request=add

/api/users/delete重定向到/api/users.php?request=delete

......等等。我想在htaccess中存在一些条件。任何人都可以帮我吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

你可以这样:

RewriteEngine On
RewriteBase /api/

RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

RewriteCond %{DOCUMENT_ROOT}/api/$1\.php -f [NC]
RewriteRule ^([^/]+)/(.+)$ $1.php?rquest=$2 [QSA,L]

RewriteRule ^([^/]+)/?$ api.php?rquest=$1 [QSA,L]