我正在尝试安装某人使用Yii的github项目。我收到404找不到错误,需要帮助修复它。 我的index.php很好。 mydomain.com/ 但是子目录中的任何URL都会因404 not found错误而失败。 例如mydomain.com/stats 我正在使用lighttpd和php7。我在日志中看不到任何内容 对于这两个项目中的任何一个。
结构是这样的: 我的根是: 在/ var / yaamp /网络/ 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" )
}
我只是不知道接下来该做什么。请帮忙!
答案 0 :(得分:1)
Yii有一个路线系统。为控制器内的操作创建虚拟URL。
您不需要致电mydomain.com/yaamp/modules/stats/index.php
mydomain.com/yaamp/modules/stats/index.php
,但如果没有代码,很难说清楚。
Yii中路由的默认设置类似于此。网址domain.com/stats
链接到名为Stats
的控制器,其操作名为index
。
这里有关于Yii如何处理请求的更多信息: http://www.yiiframework.com/doc-2.0/guide-runtime-overview.html