UrlManager在本地和生产环境中表现不同

我有一个Yii应用,在本地开发时我在protected/config/main.php中使能了UrlManager,如此,则:

http://localhost/main/index.php?r=<controller>/<others> 可以变成:

http://localhost/main/index.php/<controller>/<others>

按理,

http://<mydomain.com>/main/index.php/<controller>/<others> 应该没有问题。但是同样在生产环境中,使能UrlManager,却提示我:

No input file specified.而且不像调试出错,满屏出错信息的那种样子。就是这一句话。

是否有人遇到过此类事情?

我的服务器在godaddy.com上。

你本地是windows,生产环境是linux吧

文件名大小写问题

XxxxxxxController.php

确保只有第一个字母是大写

没错,我的本地环境的确是WAMP。我看了看只有一个Controller.php是有两个大写字母的:OrderItemController.php

做了以下修改:

OrderItemController.php => OrderitemController.php。

连带着将所有和它相关的MVC和Test都做了修改。但是没有区别,不过你的意见倒是提醒我应该在Linux下开发。

但是好像还不是根本原因。我使用的依然是UrlManager路径方式的原始代码:




		'urlManager'=>array(

			'urlFormat'=>'path',

			'rules'=>array(

				'<controller:\w+>/<id:\d+>'=>'<controller>/view',

				'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',

				'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',

			),

		),




我也遇到过了类似的环境不同导致的差异。比如demo blog在本地contact里面的验证码每次刷新页面都一样但是能验证通过;但是传到网上每次刷新验证码变化,可是验证通不过。demo blog我可是一个字没改,也许是yii用到太多php特性导致兼容性问题。

我之前用的codeigniter就很正常,也许codeigniter简单吧?