我在子文件夹 Public_html/cake/中有一个 cakephp 2.x 网站 我想在根服务器 (public_html) 中显示图像,而不使用 http 或 https
Public_html/cake/images/logo.png 应变为 Public_html/images/logo.png
知道如何使用 htaccess 或其他方式实现此操作吗?
src="<?php echo $this->webroot;?>images/logo.png
将给出:
Public_html/cake/images/logo.png
我需要:
Public_html/images/logo.png
上面有一个文件夹 我不想使用 http,因为该网站将是 http,也是 https,如果它有 http 内容,它会发出安全警告
最佳答案
这种代码:
src="<?php echo $this->webroot;?>images/logo.png
这不是 CakePHP 项目中模板文件的预期编写方式。有很多helper classes这使得生成 html 标记更容易。
生成img标签
要生成图像标签,请使用 the Html Helper
Creates a formatted image tag. The path supplied should be relative to
/app/webroot/img/
.echo $html->image('cake_logo.png', array('alt' => 'CakePHP'));
Will output:
<img src="/img/cake_logo.png" alt="CakePHP" />
与所有生成 url 的方法一样,此方法会考虑应用程序是否安装在子文件夹中,因此无论应用程序安装在 http://example 上,它都可以正常工作。 .com
、http://example.com/folder
或 http://localhost/MyProject
等
如果传递以正斜杠开头的路径,则该路径相对于应用程序的安装位置。在 Public_html
文件夹中安装此代码:
echo $html->image('/images/logo.png');
会生成:
<img src="/Public_html/images/logo.png" alt="" />
仅获取网址
要仅获取网址,请使用 the assetUrl method :
// Outputs /img/logo.png
echo $html->assetUrl('logo.png');
这是 HtmlHelper 调用的方法,用于获取要放入图像标记的 src
属性中的路径/url。
保持传统
CakePHP 期望图像位于名为 img
的文件夹中,而不是 images
,这就是为什么没有文档与您当前的用法完全匹配的原因。
如果您希望将图像保留在原来的位置,您可以通过定义 imageBaseUrl
configuration setting 来配置应用程序,使用法与文档相匹配。 .
关于image - 将图像路径重定向到根级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40199943/