gpt4 book ai didi

php - zend框架1中的“Invalid controller specified”错误

转载 作者:行者123 更新时间:2023-12-02 21:38:59 30 4
gpt4 key购买 nike

我有一个 Zend Framework 项目,之前一半是由其他程序员完成的。使用它,另一个应用程序可以直接桥接到 public/hrm 文件夹下的 Zend 公共(public)文件夹。

应用程序似乎运行正常。但在 apache 错误日志中我不断发现这些错误。

  [Wed Dec 25 12:33:00 2013] [error] [client 127.0.0.1] 
PHP Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (hrm)' in /path/to/proj/library/Zend/Controller/Dispatcher/Standard.php:248\n
Stack trace:
\n#0 /path/to/proj/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
\n#1 /path/to/proj/Application/Bootstrap.php(48): Zend_Controller_Front->dispatch()
\n#2 /path/to/proj/public/index.php(30): Application_Bootstrap->run()
\n#3 {main}
\n thrown in /path/to/proj/library/Zend/Controller/Dispatcher/Standard.php on line 248, referer: http://local.hrm.tld/hrm/lib/controllers/CentralController.php?reqcode=EMP&VIEW=MAIN&sortField=0&sortOrder0=ASC&VIEW=MAIN

[Wed Dec 25 12:33:04 2013] [error] [client 127.0.0.1]
PHP Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (hrm)' in /path/to/proj/library/Zend/Controller/Dispatcher/Standard.php:248\nStack trace:
\n#0 /path/to/proj/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
\n#1 /path/to/proj/Application/Bootstrap.php(48): Zend_Controller_Front->dispatch()
\n#2 /path/to/proj/public/index.php(30): Application_Bootstrap->run()
\n#3 {main}
\n thrown in /path/to/proj/library/Zend/Controller/Dispatcher/Standard.php on line 248, referer: http://local.hrm.tld/hrm/lib/controllers/CentralController.php?menu_no_top=hr&id=0008&capturemode=updatemode&reqcode=EMP&currentPage=1

public文件夹中.htaccess的内容如下:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

我在这里缺少什么?

最佳答案

您应该修改您的.htaccess,我认为有人试图访问hrm文件夹中不存在的某些文件,在这种情况下,请求会转发到您的应用程序,该应用程序会尝试查找hrm模块或 Controller ,由于它不存在,因此会引发错误。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(hrm)($|/) - [L]
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

这条规则:

RewriteRule ^(hrm)($|/) - [L]

不会重写 hrm 文件夹中的任何内容。

或者在hrm/.htaccess中放置:

RewriteEngine Off

但我认为,您需要在那里进行一些重写,因此这可能不是一个选择!

关于php - zend框架1中的“Invalid controller specified”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20769875/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com