【问题标题】:Phalcon cannot find controller. Error 404 Not foundPhalcon 找不到控制器。未找到错误404
【发布时间】:2019-10-27 01:46:39
【问题描述】:

我从一个 phalcon 项目开始并使用了本教程 (https://docs.phalcon.io/3.4/en/tutorial-base#basic)。但是我的控制器有问题。

在我的索引控制器中,我有:

echo $this->tag->linkTo(
    'signup',
    'Sign Up Here!'
);

但是当我点击在这里注册时!我收到错误消息“在此服务器上找不到请求的 URL /signup。”

我认为这与这部分代码有关,但在我看来是正确的。

$di->set(
    'url',
    function () {
        $url = new UrlProvider();
        $url->setBaseUri('/');
        return $url;
    }
);

它甚至没有显示我的异常

$application = new Application($di);

try {
    // Handle the request
    $response = $application->handle();

    $response->send();
} catch (\Exception $e) {
    echo 'Exception: ', $e->getMessage();
}

我也按照 youtube 上的教程进行了所有操作,并按照他在视频中所做的方式进行了所有操作。所以我想知道是否有人可以在这里帮助我。

file structure

谢谢

【问题讨论】:

  • 消息很清楚 - 很可能没有 SignupController.php 文件。从我在同一个教程中读到的内容来看,这似乎是真的。注意教程中的文件结构。此外,路由可能配置不正确。
  • 我确实有一个 SignupController.php 并且我很确定我的文件结构也是正确的。我添加了我的文件结构的图像
  • 你设置路由器了吗?您能否通过提供路由器的相关部分以及 Web 服务器虚拟主机配置来修改您的问题?
  • 如果这里的路由与 Zend Routing 类似,那么我同意——此时最可能的问题是路由器。当您单击链接时,您似乎被路由到 / (baseUri),这是不正确的。

标签: php wamp phalcon


【解决方案1】:

您好像缺少公用文件夹中的主 .htaccess 文件:

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

这可能是没有生成异常的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-24
    • 2016-10-12
    • 1970-01-01
    • 1970-01-01
    • 2021-06-28
    • 1970-01-01
    • 2019-11-01
    相关资源
    最近更新 更多