我正在尝试在我的服务器上进行this简单教程,但我遇到了一个我不知道如何解决的问题。
建议的目录api已创建,只有index.php和.htaccess文件。
.htaccess文件的内容与教程相同,但index.php已更改,因此它看起来像这样:
<?php
$app = new Phalcon\Mvc\Micro();
$app->get('/api/robots', function() use ($app){
$response->setJsonContent(array('status' => 'OK', 'messages' => 'This works'));
echo "Izvrsena function";
return $response;
});
$app->handle();
?>
但是当我尝试向地址发送GET请求时:
http://SERVER_IP_ADDR/test-api/api/robots
使用hurl.it得到以下回复:
404 Not Found 297 bytes 175 ms
HEADERS
Connection: close
Content-Length: 297
Content-Type: text/html; charset=iso-8859-1
Date: Fri, 27 Mar 2015 17:44:46 GMT
Server: Apache/2.2.15 (CentOS)
BODY view raw
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head>
<title>404 Not Found</title>
</head>
<body>
<h1>Not Found</h1>
<p>The requested URL /test-api/api/robots was not found on this server.</p>
<hr>
<address>Apache/2.2.15 (CentOS) Server at SERVER_IP_ADDRESS Port 80</address>
</body>
</html>
我必须注意,我的apache配置文件是默认配置文件。
答案 0 :(得分:0)
.htaccess
文件位置您的.htacces
文件应位于test-api/
目录中。
mod_rewrite
已启用您应该在Apache2服务器配置中启用mod_rewrite
,这里有点ansewer,但是您必须搜索与CentOS相对应的内容。
Allow-Override
为了使.htacces
文件生效,感谢您提供有关配置的标题和信息 - 根据this地点,您可能已禁用Allow-Override
指令Apache 2.2。如果它是您正在开发的服务器,请随意将其设置为2.3.8+版本的新默认值:Allow-Override All
,并且.htaccess
文件应该开始工作。将需要重新启动服务器。