2016-07-01 18 views
0

私はCakephpで作業しています。 default.ctpのように私はCakephpが間違ったパスになる

のようなリンクを与えます
<li><?= $this->Html->link('List',['controller' => 'Products', 'action' => 'index']) ?></li> 

私もProductsController.phpを持っています。

<?php 

namespace App\Controller; 

use Cake\Controller\Controller; 
use Cake\Event\Event; 
use Cake\ORM\TableRegistry; 

class ProductsController extends AppController { 

public function initialize(){ 
parent::initialize(); 
$this->loadcomponent('Flash'); 
} 
public function index(){ 
$products = $this->Products->find('all'); 
$this->set(compact('products')); 
} 

しかし、私は、それは

  1. エラーのようなエラーを与えてそのリンクをクリックしてください:WebrootControllerが見つかりませんでした。
  2. エラー:ファイル内の下のクラスWebrootControllerを作成します:SRC /コントローラー/ WebrootController.php

トグル引数のクリックが、それは

object(Cake\Network\Request) { 
params => [ 
    'plugin' => null, 
    'controller' => 'Webroot', 
    'action' => 'products', 
    '_ext' => null, 
    'pass' => [], 
    '_matchedRoute' => '/:controller/:action/*', 
    'isAjax' => false 
] 
data => [] 
query => [] 
cookies => [ 
    '__atuvc' => '1|21' 
] 
url => 'webroot/products/' 
base => '/cakephp' 
webroot => '/cakephp/' 
here => '/cakephp/webroot/products/' 
trustProxy => false 

を示した場合、このエラーを解決するために私を助けてください。

答えて

0

アプリケーションのルートフォルダとwebrootフォルダに2つの.htaccessファイルがあるかどうか確認してください。

と.htaccess上書きが許可されていることを確認し、AllowOverrideのが正しいのDocumentRoot

http://book.cakephp.org/3.0/en/installation.html#url-rewriting

+0

のためにすべてに設定されていることをはいある2 .htaccessファイルが存在しています。 1つはWebrootにあり、もう1つはプロジェクトフォルダにあります@Alex Stallen –

+0

と内容がリンクと同じかどうかチェックしましたか? .htaccessのオーバーライドが許可され、正しいDocumentRootのAllowOverrideがAllに設定されていることを確認します –

関連する問題