我目前有一个使用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路线(不推荐),请检查以下链接:
htaccess remove .php, .html and trailing slash