Только маршрутизация по умолчанию работает в cakephp 3.6, может быть проблема с htaccess - PullRequest
0 голосов
/ 19 мая 2018

Я загружаю CakePHP 3.6, и когда я пытаюсь использовать маршрут по умолчанию, он работает нормально.но когда я добавляю что-то после /.это ошибка мне 4004 вот мой код маршрутизатора

 $routes->connect('/', ['controller' => 'Pages', 'action' => 'display', 'home']);


$routes->connect('/pages/*', ['controller' => 'Pages', 'action' => 'display']);

, когда я запрашиваю http://localhost/cake/my_app_name/, он работает нормально, но когда я нажимаю на http://localhost/cake/my_app_name/pages/10, это дает мне ошибку 404

мой код файла webtaot htaccess находится здесь

 <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

код приложения htaccess здесь

 # Uncomment the following to prevent the httpoxy vulnerability
# See: https://httpoxy.org/
#<IfModule mod_headers.c>
#    RequestHeader unset Proxy
#</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^(\.well-known/.*)$ $1 [L]
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Вам необходимо добавить директиву AllowOverride All в папку вашего приложения в конфигурации Apache.

<Directory /var/www/your/app/dir> 
Options Indexes FollowSymLinks 
AllowOverride All 
Require all granted
</Directory>
0 голосов
/ 20 мая 2018

Вам нужно создать файл с именем 10.ctp и поместить его в src / Template / Pages.

...