如何为简单的api创建mod重写规则

时间:2013-06-14 17:25:56

标签: php api rest mod-rewrite rewrite

我想制作我的第一个api,但是我在设置网址时遇到了麻烦。 api url在这里:

http://tools.fifaguide.com/api/

例如,如果有人去了:

http://tools.fifaguide.com/api/player/messi

然后我需要加载这个页面:

http://tools.fifaguide.com/api/server.php

我在.htaccess写什么?我应该把它放在哪里?

这就是我现在所拥有的:

RewriteEngine On
RewriteRule ^api http://tools.fifaguide.com/api/server.php

但它没有做任何事情,htacces文件也在api文件夹中。 任何帮助都会非常有用!

2 个答案:

答案 0 :(得分:6)

这最终为我工作

<IfModule mod_rewrite.c> 
RewriteEngine On

RewriteCond %{REQUEST_URI} ^/api/ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ api/index.php [QSA,L]

////// wordpress stuff /////////
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L]
</IfModule>  

答案 1 :(得分:3)

你可以试试这个:

RewriteEngine On
RewriteRule ^api/(.*) http://tools.fifaguide.com/api/server.php [R,L]

如果您需要生成的网址,可以添加以下内容:

RewriteEngine On
RewriteRule ^api/(.*) http://tools.fifaguide.com/api/server.php?r=$1 [R,L]

然后在您的脚本中,您可以使用$ _GET [“r”]访问请求的URL(假设php ...)

我也找到了htaccess的有用工具: http://htaccess.madewithlove.be/

-Ken