【问题标题】:Remove everything between two words in img src url and serve file from new src in using htaccess删除 img src url 中两个单词之间的所有内容,并使用 htaccess 从新 src 提供文件
【发布时间】:2017-02-03 14:23:34
【问题描述】:

我有带有参数作为 url 一部分的 img 标签。这些参数用于 ajax 图像裁剪。它们看起来像这样

<img src="/resize/45-800/files/myImage.jpeg" alt="Chania">

通过在网址前添加/resize/45-800/

我可以告诉 ajax 脚本从 files 目录中获取该文件,并将裁剪后的版本转储到 /resize/files/

我的问题是,有没有办法删除这些参数45-800/,每次都可以不同,仅用于文件读取目的,这样html就会像这样读取图像

&lt;img src="/resize/files/myImage.jpeg" alt="Chania"&gt;

但世界会看到 src 仍然是这样的

&lt;img src="/resize/45-800/files/myImage.jpeg" alt="Chania"&gt;

这可以使用 htaccess 吗?

我知道我可以使用查询字符串,然后像这样使用 ajax 脚本从 src 中读取

<img src="/resize/files/myImage.jpeg?params=45-800" alt="Chania">

我只是希望有一个更漂亮的方式。我真的不想使用问号“?”。

/resize/files 将始终存在。

有人知道方法吗?

【问题讨论】:

  • "这样 html 就会像这样&lt;img src="/resize/files/myImage.jpeg" alt="Chania"&gt; 读取图像,但世界会看到 src 仍然像这样&lt;img src="/resize/45-800/files/myImage.jpeg" alt="Chania"&gt;" ...我不是完全确定你在做什么。
  • 您的文件存放在哪里?您可以使用“url slugs”和链接来实际文件位置。但是img的src必须和位置相等,否则你得写一个复杂的js脚本来拦截所有img请求。
  • 我的文件位于 files 文件夹中,但如果我在 src url 前面传入 /resize/45-800/,它会将图像的裁剪副本放在 /resize/files/ 文件夹中,如果调整大小参数被传递到 img src url,我也希望它从中读取。
  • phpexample

标签: php jquery html ajax .htaccess


【解决方案1】:

我刚刚顿悟了...我可以将裁剪宽度和高度参数放在数据属性中而不是在 url 中...所以这个

<img src="/resize/files/myImage.jpeg" data-wh="45-800" alt="Chania">

不是这个

<img src="/resize/45-800/files/myImage.jpeg" alt="Chania">

然后我可以从 resize/files/ 目录为所有将调整大小参数传递到 url 的图像提供它们;而且我不必使用丑陋的查询字符串。

"/resize/45-800/files/myImage.jpeg?ugly=45-800"

【讨论】:

    【解决方案2】:

    所以我没有对此进行测试,但我认为我找到了原始问题的合法答案。我知道这是可能的,因为我上一份工作的人曾经根据 src url 参数调整图像大小。这是链接 - http://sneak.co.nz/projects/img-resizing/

    我的插件已经完成,现在可以工作了 8/ 这个方法看起来更好一些,他们会引导你完成整个图像调整大小的过程,并使用图像缓存。

    如果它有效,希望这对某人和我一样有帮助!如果我最终测试它并且效果很好,我会发表评论。

    【讨论】:

      猜你喜欢
      • 2015-07-08
      • 2022-11-18
      • 2017-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-01
      • 1970-01-01
      • 2015-03-05
      相关资源
      最近更新 更多