Контроллер Cakephp не работает на хост-сервере - PullRequest
0 голосов
/ 22 ноября 2018

Мой проект cakephp отлично работает на локальном хосте, но не работает, когда я загружаю его на хост-сервер.

Это настройка моего файлового менеджера 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

Я убедился, что изменил WWW_ROOT в mycakeapp / config / paths.php в строке 52:

define(‘WWW_ROOT’, ‘/home/username/public_html/test’ . DS);

Я также изменил index.php в public_html / test в следующих 3 строках, чтобы он правильно требовалнеобходимые файлы:

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, он, похоже, не работает вообще.Пожалуйста, помогите!

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Загрузите ваш файл .htaccess.

Не работает часть, которая переписывает запросы на "красивые" URL-адреса, такие как / users, в запросы на сценарии PHP, такие как /index.php?q=/users.Файл .htaccess делает это.

0 голосов
/ 22 ноября 2018

Вы должны попробовать изменить App.base параметр в ./config/app.php, например, так:

'App' => [

    // ...
    'base' => '/test',
    // ...

]

См. Документацию здесь .

...