我有一个名为CategoryAdminController.php
的控制器,它可以通过我的本地主机(Windows机器上)中的{siteurl}/categoryadmin/index
来访问。但是当我尝试在我的远程服务器(Linux平台上)中启动它时,它无法加载页面。但是当我将我的控制器重命名为CategoryadminController.php
(以及相应的类名)时,它工作正常。
有没有办法在加载页面的同时保持控制器中的原始名称(即:(单位:x/m/n/x)
根据Yii指南,似乎这是不可能的。
http://www.yiiframework.com/doc/guide/1.1/en/basics.convention
有什么想法吗?
谢谢你
3条答案
按热度按时间5jdjgkvh1#
要使Controller名称和Action名称保持CamelCased并在Linux上工作,需要在URL中的每个单词之间添加破折号:
这在Linux和Windows上都适用。
Windows读取文件和文件夹不区分大小写。并且经常 * 隐藏 * 某些错误。
当你在Windows上开发时,常见的问题是......创建一个
categoryadmin
链接,操作系统会很乐意给予你一个像CaTegoRYadmiNcontroller.php
这样的文件,忽略大小写。但是,当您在Linux上部署相同的代码和文件时,您将遇到
File Not Found
异常。所以,最好还是遵守惯例。
aiqt4smr2#
在Linux操作系统上,它区分文件名的大小写,但在Windows上则不区分。您是否尝试访问它:一个月一个月?
vzgqcmou3#
您可以使用urlManager重写URL。在您的情况下,可以使用以下代码: