【问题标题】:Yii: Server issues controller action always 404 not foundYii:服务器发出控制器操作总是 404 未找到
【发布时间】:2015-04-27 11:31:24
【问题描述】:

我目前正在开发我的网站应用程序,我需要在实时服务器上对其进行测试。

在本地机器上它运行良好,但在实时服务器上它不起作用。

这是我的问题描述:

When I access the domain root folder "mydomain.com" it is working. 
It displays the
webpage index. But when I try to access site/action it 
gives me 404 not found. Same thing happens for other controller action.

谁能告诉我出了什么问题..我不是实时服务器专家,所以我不擅长术语,我只能描述正在发生的事情。

我不确定这是否值得一提,但我正在使用 yii urlManager

使用此设置

'urlManager'=>array(
            'urlFormat'=>'path',
            'rules'=>array(
                '<action:\w+>' => 'site/<action>',
                '<controller:\w+>/<id:\d+>'=>'<controller>/view',
                '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
                '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
            ),
            'showScriptName'=>false
        ),

和根文件夹上的 htaccess..

服务器是:LAMP

非常感谢您的帮助。感谢大家。

【问题讨论】:

  • 您确定 htaccess 工作正常吗?因为对我来说,这听起来像是服务器没有路由您的请求
  • 我确定是因为我已经在本地机器上对其进行了测试,但是我不确定服务器的 mod_rewrite 是否已启用..我不太确定 X_X.. 还有 404 not found 问题是不是由我的应用程序生成,而是由 apache 生成..但是根 url 正在工作。
  • 当然 root 可以工作,因为这是标准的服务器操作,也是标准的 Yii 路由。我确定您的 htaccess 没有在服务器上工作,或者正如您所说的 mod_rerite 未启用。请咨询您的服务器管理员,检查/请求您的服务器日志,否则没有人可以提供帮助
  • 好吧,我试图注释掉 urlManager 并删除了 htaccess,但结果是即使在根 url 上也是一个空白的全白页面。
  • 空白页意味着有错误并且您没有显示错误。当然,您可以不使用 url 管理器,请查看教程。但首先我会联系管理员,所以你知道问题是什么......猜测没有帮助

标签: php yii lamp


【解决方案1】:

我遇到了同样的问题,我的控制器名称是 UserManagementController,它在 Windows 上工作得很好,但是当我将它移到 Linux 时,我收到错误“无法解析请求'usermanagement'。”。

问题在于 Linux 区分大小写。我将控制器名称从 UserManagementController 更改为 UsermanagementController 并且它起作用了。

【讨论】:

    猜你喜欢
    • 2013-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    • 1970-01-01
    • 2016-10-12
    • 2020-05-04
    • 1970-01-01
    相关资源
    最近更新 更多