Essence of the question.

There is a local server under Windows, all requests for it are going fine. All controllers and actions are processed, but there is one thing but.

when unloading the whole thing on a server under * nix, one controller drops out and does not want to work. those. Permanently 404 error in any action.

class AjaxActionController extends CController// собственно так он называется. public function actionAddToCard() public function actionAddOneProduct() // несколько экшенов. 

and when requesting ajaxaction / addtocard 404 error

In general, it is not clear what the error is and why it is on a server just under the * nix system.

The register is not important at all, that in the upper, that in the lower, the same 404.

Perhaps someone faced with this?

ps often confronted with the fact that when transferring from the Windows server to unix it turns out crap. Although the register of all models, modules is taken into account!

    2 answers 2

    Often faced with a similar problem when I wrote the code under Windows, then switched to Linux. And now everything is simple - see the log ./protected/runtime/application.log, what an error and correct.

    • 2012/11/07 16:47:29 [error] [exception.CHttpException.404] exception CHttpException with message 'Unable to process the request "ajaxaction / clearbasket".' in /var/www/somesite/data/framework/web/CWebApplication.php:280 Stack trace: 0 /framework/web/CWebApplication.php(135): CWebApplication-> runController ('ajaxaction / clea ...') 1 /framework/base/CApplication.php(162): CWebApplication-> processRequest () 2 /index.php(11): CApplication-> run () 3 {main} REQUEST_URI = / ajaxaction / clearbasket - Artem
    • I think the problem is in the controller's name: rename it to AjaxactionController - VasyOk
    • And tin! Tochnyak, Trouble decided. But why in this form can not write the name of the file. The controller itself left unchanged> class AjaxActionController extends CController and renamed the file> AjaxActionController.php to> AjaxactionController.php - Artem
    • I'll tell you the source of the problems. Differences in file systems. Probably in Linux ext2, ext3 or ext4 is a case sensitive file system. Fat32 does not support it at all, but NTFS supports it, but is disabled by default. I ran into it myself when I uploaded a project to a server on Linux. And even the table names had to be corrected. P.S. You can try to add 'caseSensitive' => false in url-manager. - Ray

    Try to rename the controller, probably on the server there is some kind of filter.

    • Unfortunately, it would be simple to rename the controller, but a lot of everything hangs on it, and to search in the code where its call occurs is a rather cumbersome process. because rules are used which are additionally redirected to different routes. which increases labor costs for the census of the name of the control - Artem
    • too \ + put, because in the right direction dug, almost. - Artem