我的cakephp项目在localhost上可以很好地运行,但是当我将其上传到托管服务器时无法正常工作。
这是我的托管服务器的cPanel文件管理器上的设置:
/home/username/public_html/test
// webroot contents goes here
css/
img/
js/
index.php
/home/username/mycakeapp/
// necessary app directories go here
/config
/logs
/plugins
/src
/tmp
/vendor
我确保在第52行的mycakeapp / config / paths.php中更改WWW_ROOT:
define(‘WWW_ROOT’, ‘/home/username/public_html/test’ . DS);
我还在以下3行中更改了public_html / test中的index.php,以便它正确地需要必需的文件:
require '/home/username/mycakeapp/config/requirements.php';
require '/home/username/mycakeapp/vendor/autoload.php';
$server = new Server(new Application('/home/username/mycakeapp/config'));
执行完此操作后,当我打开website.com/test时,该站点会正确打开home.ctp文件。但是,转到其他网站(如website.com/test/users)时,它会显示如下错误消息:
The requested URL /test/users was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
我的home.ctp文件只有纯HTML代码,因此我认为它可以正常工作。但是,转到具有CakePHP代码的其他站点,它似乎根本不起作用。请帮助!
答案 0 :(得分:0)
答案 1 :(得分:0)
上传您的.htaccess文件。
不起作用的部分是将对“漂亮” URL的请求(例如/ users)重写为对PHP脚本的请求(例如/index.php?q=/users)的部分。 .htaccess文件可以做到这一点。