gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 04:41:22 25 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/

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