子域上的Slim PHP REST API的.htaccess配置?

时间:2012-06-30 01:13:59

标签: php api .htaccess slim

我目前使用Slim Framework构建了一个api.php文件。我想使用api.mydomain.com(或mydomain.com/api)之类的东西来引用API文件,并使用http://api.mydomain.com作为基本网址进行调用。 Slim文档要求将以下内容添加到.htacess文件中:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

但是如果我是正确的,如果请求的文件不存在,则返回index.php文件。如何最好地从api.mydomain.com或mydomain.com/api重写到index.php?我们发现的一切都指向使用.htaccess进行配置。

我们使用了以下重写规则,但这导致我们的所有URL都附加了斜杠('/'),这也要求我们在Slim中重新配置我们的路由。 (示例:“/ messages”变为“/ messages /”,“/ threads?id = 123”变为“/ threads /?id = 123”)

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^api\.mydomain\.com [NC]
RewriteRule ^ api.php [QSA,L]

1 个答案:

答案 0 :(得分:2)

虽然可以通过一些复杂的apache规则修复此问题(请参阅包含的链接),但这实际上是Slim 2.2+版本中的地址,所以你只需要更新你的苗条版本(phar版本设置为&#)好得多34; 2. "或" 2.2。")。

http://www.slimframework.com/install

如果您决定采用apache路线(不推荐),请检查以下链接:

https://webmasters.stackexchange.com/questions/23382/how-to-remove-trailing-slashes-from-url-with-htaccess

htaccess remove .php, .html and trailing slash