image - 将图像路径重定向到根级别

标签 image .htaccess cakephp cakephp-2.0

我在子文件夹 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 上,它都可以正常工作。 .comhttp://example.com/folderhttp://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/

相关文章:

php - Cookie Lifetime 无法按预期工作

CakePHP 在下拉菜单中增加年份范围

python - 加载图像时 OpenCV 显示错误或修改的结果

html - 悬停和褪色

php - 服务器上不允许 header ?

wordpress - 如何删除?使用 htaccess 从 url

javascript - 在页面请求之间保存动态创建的表单字段

java - 将 RGB 数据的 byte[] 转换为图像

image - 计算图像的DPI

php - 更改 Apache 默认索引文件