【问题标题】:Yii Framework project gives 404 ErrorsYii 框架项目出现 404 错误
【发布时间】:2018-01-29 23:38:52
【问题描述】:

我正在尝试安装使用 Yii 的某人的 github 项目。我收到 404 not found 错误,需要帮助修复它。 我的 index.php 很好。 mydomain.com/ 但是子目录中的任何 url 都会失败,并出现 404 not found 错误。 例如 mydomain.com/stats 我正在使用 lighttpd 和 php7。我在日志中看不到任何内容 对于这两个程序中的任何一个。

结构是这样的: 我的根源是: /var/yaamp/web/ index.php 就在那里。 然后我有子目录称为

/var/yaamp/web/assets
/var/yaamp/web/extensions
/var/yaamp/web/framework
/var/yaamp/web/images
/var/yaamp/web/yaamp

在大多数情况下,我认为直接引用目录结构中的文件可以正常工作。 我可以做 mydomain.com/yaamp/modules/stats/test.php

或 mydomain.com/images/41.png

但是最初的开发者有很多在结构中没有明确存在的链接,所以我不确定它为什么不起作用。 例如 mydomain.com/stats 可能指的是一个名为 /var/yaamp/web/yaamp/modules/stats/index.php

当我这样尝试时收到错误 500: mydomain.com/yaamp/modules/stats/index.php

该文件夹中还有一个可能很重要的文件,称为 StatsController.php

我的 lighttpd.conf 的相关部分如下所示:

$HTTP["host"] =~ "mydomain.com" {
    server.document-root = "/var/yaamp/web"
    url.rewrite-if-not-file = (
    "^(.*)/([0-9]+)$" => "index.php?r=$1&id=$2",
    "^(.*)\?(.*)" => "index.php?r=$1&$2",
            "^(.*)" => "index.php?r=$1",
            "." => "index.php"
    )
url.access-deny = ( "~", ".dat", ".log" )
}

我只是不知道下一步该做什么。请帮忙!

【问题讨论】:

  • 我不认为是 yii2 是不是
  • 好吧,我发现了问题所在。这不是一个真正的 yii 问题。就是 lighttpd.conf 文件注释掉了 mod_rewrite。

标签: php yii yii2 php-7


【解决方案1】:

Yii 有一个路线系统。为控制器内的操作创建虚拟 url。

您不需要调用mydomain.com/yaamp/modules/stats/index.php mydomain.com/yaamp/modules/stats/index.php 应该可以工作,但是如果不看代码就很难说出任何事情。

Yii 中的默认路由是这样工作的。 url domain.com/stats 链接到一个名为 Stats 的控制器,并带有一个名为 index 的操作。

这里有更多关于 Yii 如何处理请求的信息: http://www.yiiframework.com/doc-2.0/guide-runtime-overview.html

【讨论】:

    猜你喜欢
    • 2015-01-26
    • 2017-07-15
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    • 1970-01-01
    • 2015-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多