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

我目前有一个使用Slim Framework构建的api.php文件.我想使用api.mydomain.com(或mydomain.com/api)之类的东西来引用API文件并使用http://api.mydomain.com作为基本URL进行调用. 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]

解决方法:

虽然可以通过一些复杂的apache规则来解决这个问题(参见包含的链接),但这实际上是Slim 2.2版中的地址,所以你只需更新你的slim版本(phar版本设置为“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

上一篇:php – 使用Slim Framework重定向到另一个页面时出错


下一篇:php – 如何将自定义MySQL查询添加到与Prestashop共享数据库的userfrosting页面?