.htaccess - Phalconphp 路由不工作

标签 .htaccess phalcon

我是 phalconphp 的新手,按照他们的教程,据我了解,我不需要创建特定的路由组件,并且它应该选择一条路由(如果存在)。显然我在这里可能犯了很大的错误,这意味着纠正我应该很容易!但到目前为止,唯一可以工作的 Controller 是我的indexController。

这是我的引导

<?php

try {

//Register an autoloader
$loader = new \Phalcon\Loader();
$loader->registerDirs(array(
    '../app/controllers/',
    '../app/models/'
))->register();

//Create a DI
$di = new Phalcon\DI\FactoryDefault();

//Setting up the view component
$di->set('view', function(){
    $view = new \Phalcon\Mvc\View();
    $view->setViewsDir('../app/views/');
    return $view;
});

//Handle the request
$application = new \Phalcon\Mvc\Application($di);

echo $application->handle()->getContent();

} catch(\Phalcon\Exception $e) {
  echo "PhalconException: ", $e->getMessage();
}

然后如果我创建自己的 FooController

<?php

class FooController extends \Phalcon\Mvc\Controller
{

public function indexAction()
{

    echo "FOO";

}

public function fooAction(){
    echo "FOO";
}

}

这些操作都不会被解雇。现在我实际上收到了来自服务器的404错误文档。所以我不确定我的 .htaccess 文件是否有问题,尽管这是直接从教程复制的

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
   </IfModule>

有人能看出这里有什么明显的错误吗?唯一的区别是我为indexController 设置了一个 View 。我认为 404 让我相信这更多是服务器设置的问题,也许是我的 php 代码的问题

最佳答案

您的 .htaccess 文件很好,不,如果您只想使用标准 MVC/controller/action 类型模式,则不需要任何路由文件。

您的问题是您的 http 服务器没有正确重写 URL。我不确定您使用的是哪个 http 服务器,因此,我无法提供有关修复 http 服务器本身的任何具体信息。

关于.htaccess - Phalconphp 路由不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19605809/

相关文章:

php - .htaccess。拒绝 root,允许特定的子文件夹。可能的?

.htaccess 301 重定向活跃 - 然而 Google Analytics(实时)显示旧网站上有许多活跃访问者

php - Phalcon,生成图像的 HTTP 缓存

view - Phalcon:HMVC View 不起作用

acl - Controller 级别权限

.htaccess - 自动将子域重定向到文件夹路径?

apache - Request_URI改写为index.php时如何使用SetEnvIf?

mysql - WordPress 链接全部重定向到双 URL

performance - Phalcon php vs node.js

php - 在 Phalcon\Mvc\Model\Criteria 中组合 and 和 or 运算符