我在新的应用中使用我的旧网站设计代码。问题是我没有使用HTML帮助程序来加载图像。我正在使用HTML图片代码<img style="width:95px; margin-top:20px;"src="images/logo.png" />
。它在此链接http://localhost/dashboard/dboard/中正常工作,但在此链接http://localhost/dashboard/dboard/pages/demo中无效。 Pages是控制器,demo是控制器中的一种方法。
我的PagesController
看起来像这样: -
namespace App\Controller;
use Cake\Core\Configure;
use Cake\Network\Exception\NotFoundException;
use Cake\View\Exception\MissingTemplateException;
class PagesController extends AppController
{
public function display()
{
$path = func_get_args();
enter code here`enter code here`
$count = count($path);
if (!$count) {
return $this->redirect('/');
}
$page = $subpage = null;
if (!empty($path[0])) {
$page = $path[0];
}
if (!empty($path[1])) {
$subpage = $path[1];
}
$this->set(compact('page', 'subpage'));
try {
$this->render(implode('/', $path));
} catch (MissingTemplateException $e) {
if (Configure::read('debug')) {
throw $e;
}
throw new NotFoundException();
}
}
public function demo()
{
}
public function contactus()
{
}
public function downloads()
{
}
}
我的.htaccess文件如下所示: -
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
重要的是我已将所有图像放在此处:C:\ xampp \ htdocs \ dashboard \ dboard \ webroot。我正在使用CakePHP 3.0。
输出如下: -
答案 0 :(得分:1)
问题是apache正试图在路径<app_folder>/webroot/pages/dashboard/images
中搜索图像,如果您在Web开发人员控制台中检查404错误(在Chrome中按F12),您可能会看到这些图像。
您可以通过以下两种方式解决:
src
中添加基本网址,如下所示: <img src='<?php echo Router::url('/') ?>/images/picture.png' >
这样最终的网址就像:
http://localhost/dashboard/dboard/images/picture.png
您的文件将被找到。